@liphium/neoroute-ts 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierignore +5 -0
- package/.prettierrc +8 -0
- package/.zed/settings.json +3 -0
- package/dist/client.d.ts +8 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +15 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -0
- package/dist/examples/http_client/src/main.d.ts +2 -0
- package/dist/examples/http_client/src/main.d.ts.map +1 -0
- package/dist/examples/http_client/src/main.js +51 -0
- package/dist/examples/http_client/src/main.js.map +1 -0
- package/dist/examples/http_client/src/messages.d.ts +9 -0
- package/dist/examples/http_client/src/messages.d.ts.map +1 -0
- package/dist/examples/http_client/src/messages.js +2 -0
- package/dist/examples/http_client/src/messages.js.map +1 -0
- package/dist/examples/http_client/src/requests.d.ts +5 -0
- package/dist/examples/http_client/src/requests.d.ts.map +1 -0
- package/dist/examples/http_client/src/requests.js +56 -0
- package/dist/examples/http_client/src/requests.js.map +1 -0
- package/dist/examples/web_socket_client/src/main.d.ts +2 -0
- package/dist/examples/web_socket_client/src/main.d.ts.map +1 -0
- package/dist/examples/web_socket_client/src/main.js +59 -0
- package/dist/examples/web_socket_client/src/main.js.map +1 -0
- package/dist/examples/web_socket_client/src/messages.d.ts +14 -0
- package/dist/examples/web_socket_client/src/messages.d.ts.map +1 -0
- package/dist/examples/web_socket_client/src/messages.js +3 -0
- package/dist/examples/web_socket_client/src/messages.js.map +1 -0
- package/dist/examples/web_socket_client/src/receiver.d.ts +3 -0
- package/dist/examples/web_socket_client/src/receiver.d.ts.map +1 -0
- package/dist/examples/web_socket_client/src/receiver.js +8 -0
- package/dist/examples/web_socket_client/src/receiver.js.map +1 -0
- package/dist/examples/web_socket_client/src/requests.d.ts +4 -0
- package/dist/examples/web_socket_client/src/requests.d.ts.map +1 -0
- package/dist/examples/web_socket_client/src/requests.js +32 -0
- package/dist/examples/web_socket_client/src/requests.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces.d.ts +24 -0
- package/dist/interfaces.d.ts.map +1 -0
- package/dist/interfaces.js +7 -0
- package/dist/interfaces.js.map +1 -0
- package/dist/logger.d.ts +9 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +11 -0
- package/dist/logger.js.map +1 -0
- package/dist/receiver.d.ts +12 -0
- package/dist/receiver.d.ts.map +1 -0
- package/dist/receiver.js +49 -0
- package/dist/receiver.js.map +1 -0
- package/dist/sender.d.ts +26 -0
- package/dist/sender.d.ts.map +1 -0
- package/dist/sender.js +135 -0
- package/dist/sender.js.map +1 -0
- package/dist/src/client.d.ts +8 -0
- package/dist/src/client.d.ts.map +1 -0
- package/dist/src/client.js +15 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/config.d.ts +5 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +2 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/index.d.ts +11 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +11 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interfaces.d.ts +24 -0
- package/dist/src/interfaces.d.ts.map +1 -0
- package/dist/src/interfaces.js +7 -0
- package/dist/src/interfaces.js.map +1 -0
- package/dist/src/logger.d.ts +9 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +11 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/receiver.d.ts +12 -0
- package/dist/src/receiver.d.ts.map +1 -0
- package/dist/src/receiver.js +49 -0
- package/dist/src/receiver.js.map +1 -0
- package/dist/src/sender.d.ts +26 -0
- package/dist/src/sender.d.ts.map +1 -0
- package/dist/src/sender.js +135 -0
- package/dist/src/sender.js.map +1 -0
- package/dist/src/transporter/transporter_http.d.ts +6 -0
- package/dist/src/transporter/transporter_http.d.ts.map +1 -0
- package/dist/src/transporter/transporter_http.js +30 -0
- package/dist/src/transporter/transporter_http.js.map +1 -0
- package/dist/src/transporter/transporter_websocket.d.ts +17 -0
- package/dist/src/transporter/transporter_websocket.d.ts.map +1 -0
- package/dist/src/transporter/transporter_websocket.js +93 -0
- package/dist/src/transporter/transporter_websocket.js.map +1 -0
- package/dist/src/user_error.d.ts +4 -0
- package/dist/src/user_error.d.ts.map +1 -0
- package/dist/src/user_error.js +11 -0
- package/dist/src/user_error.js.map +1 -0
- package/dist/src/util.d.ts +9 -0
- package/dist/src/util.d.ts.map +1 -0
- package/dist/src/util.js +42 -0
- package/dist/src/util.js.map +1 -0
- package/dist/transporter/transporter_http.d.ts +6 -0
- package/dist/transporter/transporter_http.d.ts.map +1 -0
- package/dist/transporter/transporter_http.js +30 -0
- package/dist/transporter/transporter_http.js.map +1 -0
- package/dist/transporter/transporter_websocket.d.ts +17 -0
- package/dist/transporter/transporter_websocket.d.ts.map +1 -0
- package/dist/transporter/transporter_websocket.js +93 -0
- package/dist/transporter/transporter_websocket.js.map +1 -0
- package/dist/user_error.d.ts +4 -0
- package/dist/user_error.d.ts.map +1 -0
- package/dist/user_error.js +11 -0
- package/dist/user_error.js.map +1 -0
- package/dist/util.d.ts +9 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +42 -0
- package/dist/util.js.map +1 -0
- package/examples/http_client/package.json +20 -0
- package/examples/http_client/src/main.ts +59 -0
- package/examples/http_client/src/messages.ts +9 -0
- package/examples/http_client/src/requests.ts +64 -0
- package/examples/http_client/tsconfig.json +44 -0
- package/examples/web_socket_client/package.json +20 -0
- package/examples/web_socket_client/src/main.ts +72 -0
- package/examples/web_socket_client/src/messages.ts +22 -0
- package/examples/web_socket_client/src/receiver.ts +8 -0
- package/examples/web_socket_client/src/requests.ts +51 -0
- package/examples/web_socket_client/tsconfig.json +44 -0
- package/package.json +36 -0
- package/pnpm-workspace.yaml +5 -0
- package/readme.md +49 -0
- package/src/client.ts +17 -0
- package/src/config.ts +4 -0
- package/src/index.ts +13 -0
- package/src/interfaces.ts +31 -0
- package/src/logger.ts +18 -0
- package/src/receiver.ts +56 -0
- package/src/sender.ts +203 -0
- package/src/transporter/transporter_http.ts +37 -0
- package/src/transporter/transporter_websocket.ts +115 -0
- package/src/user_error.ts +21 -0
- package/src/util.ts +58 -0
- package/tsconfig.json +44 -0
package/.prettierignore
ADDED
package/.prettierrc
ADDED
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,qBAAa,GAAG;IACf,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;IAKnC,IAAI,IAAI,UAAU;IAIlB,IAAI,IAAI,MAAM;CAGrB"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;IACP,KAAK,CAAa;IAClB,KAAK,CAAS;IAEtB,YAAY,IAAgB,EAAE,IAAY;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,IAAI;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAEM,IAAI;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;CACD"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../examples/http_client/src/main.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Receiver, HTTPTransporter } from '@liphium/neoroute-ts';
|
|
2
|
+
import { testHttpSimple, testHttpGroup1, testHttpGroup2 } from './requests.js';
|
|
3
|
+
import readline from 'node:readline';
|
|
4
|
+
async function main() {
|
|
5
|
+
// 1. Setup Receiver
|
|
6
|
+
const httpReceiver = new Receiver({
|
|
7
|
+
errorHandler: (err) => console.log('Global HTTP receiver error:', err),
|
|
8
|
+
requestTimeout: 5000,
|
|
9
|
+
});
|
|
10
|
+
// 2. Setup HTTP Transporter with the required auth token
|
|
11
|
+
const httpTransporter = new HTTPTransporter(httpReceiver, 'POST', 'http://localhost:6121/?token=secret_token');
|
|
12
|
+
console.log('HTTP Transporter initialized and ready.');
|
|
13
|
+
// 3. Setup console interface
|
|
14
|
+
const rl = readline.createInterface({
|
|
15
|
+
input: process.stdin,
|
|
16
|
+
output: process.stdout,
|
|
17
|
+
prompt: '> ',
|
|
18
|
+
});
|
|
19
|
+
console.log('\n--- HTTP Client Commands ---');
|
|
20
|
+
console.log("1: Test 'simple.route'");
|
|
21
|
+
console.log("2: Test 'group1.route1'");
|
|
22
|
+
console.log("3: Test 'group1.group2.route1'");
|
|
23
|
+
console.log('exit: Quit the program');
|
|
24
|
+
console.log('----------------------------\n');
|
|
25
|
+
rl.prompt();
|
|
26
|
+
rl.on('line', (line) => {
|
|
27
|
+
const input = line.trim();
|
|
28
|
+
if (input === '1') {
|
|
29
|
+
testHttpSimple(httpReceiver).then(() => rl.prompt());
|
|
30
|
+
}
|
|
31
|
+
else if (input === '2') {
|
|
32
|
+
testHttpGroup1(httpReceiver, 10).then(() => rl.prompt());
|
|
33
|
+
}
|
|
34
|
+
else if (input === '3') {
|
|
35
|
+
testHttpGroup2(httpReceiver, 42).then(() => rl.prompt());
|
|
36
|
+
}
|
|
37
|
+
else if (input === 'exit') {
|
|
38
|
+
rl.close();
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
console.log('Unknown command.');
|
|
42
|
+
rl.prompt();
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
rl.on('close', () => {
|
|
46
|
+
console.log('Shutting down HTTP client.');
|
|
47
|
+
process.exit(0);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
main();
|
|
51
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../examples/http_client/src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,KAAK,UAAU,IAAI;IAClB,oBAAoB;IACpB,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAC;QACjC,YAAY,EAAE,CAAC,GAAU,EAAE,EAAE,CAC5B,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC;QAChD,cAAc,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,eAAe,GAAG,IAAI,eAAe,CAC1C,YAAY,EACZ,MAAM,EACN,2CAA2C,CAC3C,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAEvD,6BAA6B;IAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QACnC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,EAAE,CAAC,MAAM,EAAE,CAAC;IAEZ,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE1B,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnB,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC1B,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC1B,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,EAAE,CAAC,MAAM,EAAE,CAAC;QACb,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../examples/http_client/src/messages.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../examples/http_client/src/messages.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Receiver } from '@liphium/neoroute-ts';
|
|
2
|
+
export declare function testHttpSimple(receiver: Receiver): Promise<void>;
|
|
3
|
+
export declare function testHttpGroup1(receiver: Receiver, numberValue: number): Promise<void>;
|
|
4
|
+
export declare function testHttpGroup2(receiver: Receiver, numberValue: number): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=requests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../../examples/http_client/src/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAG3D,wBAAsB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtE;AAED,wBAAsB,cAAc,CACnC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,wBAAsB,cAAc,CACnC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Receiver, UserError } from '@liphium/neoroute-ts';
|
|
2
|
+
import {} from './messages.js';
|
|
3
|
+
export async function testHttpSimple(receiver) {
|
|
4
|
+
try {
|
|
5
|
+
console.log('Sending simple HTTP request...');
|
|
6
|
+
const resp = receiver.sendNoRequest('simple.route');
|
|
7
|
+
console.log('Simple HTTP Response:', resp);
|
|
8
|
+
}
|
|
9
|
+
catch (err) {
|
|
10
|
+
if (err instanceof UserError) {
|
|
11
|
+
console.log('UserError on simple route:', err.message);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
console.log('System error on simple route:', err);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export async function testHttpGroup1(receiver, numberValue) {
|
|
19
|
+
try {
|
|
20
|
+
console.log('Sending group1 HTTP request...');
|
|
21
|
+
const req = {
|
|
22
|
+
field1: 'Testing Group 1',
|
|
23
|
+
field2: numberValue,
|
|
24
|
+
};
|
|
25
|
+
const resp = receiver.send('group1.route1', req);
|
|
26
|
+
console.log('Group 1 HTTP Response:', resp);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
if (err instanceof UserError) {
|
|
30
|
+
console.log('UserError on group1 route:', err.message);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
console.log('System error on group1 route:', err);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export async function testHttpGroup2(receiver, numberValue) {
|
|
38
|
+
try {
|
|
39
|
+
console.log('Sending group2 HTTP request...');
|
|
40
|
+
const req = {
|
|
41
|
+
field1: 'Testing Group 2',
|
|
42
|
+
field2: numberValue,
|
|
43
|
+
};
|
|
44
|
+
const resp = await receiver.send('group1.group2.route1', req);
|
|
45
|
+
console.log('Group 2 HTTP Response:', resp);
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
if (err instanceof UserError) {
|
|
49
|
+
console.log('UserError on group2 route:', err.message);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
console.log('System error on group2 route:', err);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=requests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../../examples/http_client/src/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAuC,MAAM,eAAe,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAkB;IACtD,IAAI,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAe,cAAc,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,QAAkB,EAClB,WAAmB;IAEnB,IAAI,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAgB;YACxB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,WAAW;SACnB,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CACzB,eAAe,EACf,GAAG,CACH,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,QAAkB,EAClB,WAAmB;IAEnB,IAAI,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAgB;YACxB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,WAAW;SACnB,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAC/B,sBAAsB,EACtB,GAAG,CACH,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../examples/web_socket_client/src/main.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { newPromiseWithResolver, Receiver, WebSocketTransporter, } from '@liphium/neoroute-ts';
|
|
2
|
+
import { registerReceiver } from './receiver.js';
|
|
3
|
+
import * as readline from 'node:readline';
|
|
4
|
+
import { sendEchoRequest, sendSubmitPunRequest } from './requests.js';
|
|
5
|
+
async function main() {
|
|
6
|
+
const r = new Receiver({
|
|
7
|
+
errorHandler: (err) => {
|
|
8
|
+
console.log('error with receiver', err);
|
|
9
|
+
},
|
|
10
|
+
requestTimeout: 1000, // time.Second * 1 in Millisekunden
|
|
11
|
+
});
|
|
12
|
+
registerReceiver(r);
|
|
13
|
+
const { resolve, promise } = newPromiseWithResolver();
|
|
14
|
+
const t = new WebSocketTransporter(r, {
|
|
15
|
+
onOpen: () => {
|
|
16
|
+
resolve();
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
try {
|
|
20
|
+
t.connect('ws://localhost:6121/');
|
|
21
|
+
await promise;
|
|
22
|
+
console.log('Connected to server.');
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
console.error(`failed to connect to server: ${err}`);
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
const rl = readline.createInterface({
|
|
29
|
+
input: process.stdin,
|
|
30
|
+
output: process.stdout,
|
|
31
|
+
prompt: '',
|
|
32
|
+
});
|
|
33
|
+
console.log('Type exit to quit the program.');
|
|
34
|
+
console.log('Type "Pun " followed by a pun to submit it to the server.');
|
|
35
|
+
console.log('Type "Echo " followed by a message to receive a echo message from the server.');
|
|
36
|
+
rl.on('line', (line) => {
|
|
37
|
+
const input = line.trim();
|
|
38
|
+
if (input.startsWith('Pun ')) {
|
|
39
|
+
const pun = input.slice(4);
|
|
40
|
+
console.log('Sending pun to server');
|
|
41
|
+
sendSubmitPunRequest(r, pun);
|
|
42
|
+
}
|
|
43
|
+
else if (input.startsWith('Echo ')) {
|
|
44
|
+
const msg = input.slice(5);
|
|
45
|
+
console.log('Sending echo to server');
|
|
46
|
+
sendEchoRequest(r, msg);
|
|
47
|
+
}
|
|
48
|
+
else if (input === 'exit') {
|
|
49
|
+
t.close();
|
|
50
|
+
rl.close();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
rl.on('close', () => {
|
|
54
|
+
console.log('Connection closed');
|
|
55
|
+
process.exit(0);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
main();
|
|
59
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../examples/web_socket_client/src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,QAAQ,EACR,oBAAoB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEtE,KAAK,UAAU,IAAI;IAClB,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC;QACtB,YAAY,EAAE,CAAC,GAAU,EAAE,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,cAAc,EAAE,IAAI,EAAE,mCAAmC;KACzD,CAAC,CAAC;IAEH,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEpB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,sBAAsB,EAAQ,CAAC;IAC5D,MAAM,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC,EAAE;QACrC,MAAM,EAAE,GAAG,EAAE;YACZ,OAAO,EAAE,CAAC;QACX,CAAC;KACD,CAAC,CAAC;IAEH,IAAI,CAAC;QACJ,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAClC,MAAM,OAAO,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QACnC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,EAAE;KACV,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CACV,+EAA+E,CAC/E,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE1B,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,oBAAoB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;YACV,EAAE,CAAC,KAAK,EAAE,CAAC;QACZ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface EchoRequest {
|
|
2
|
+
message: string;
|
|
3
|
+
}
|
|
4
|
+
export interface SubmitPunRequest {
|
|
5
|
+
pun: string;
|
|
6
|
+
}
|
|
7
|
+
export interface EchoResponse {
|
|
8
|
+
requestNumber: number;
|
|
9
|
+
message: string;
|
|
10
|
+
}
|
|
11
|
+
export interface NewPunEvent {
|
|
12
|
+
pun: string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../examples/web_socket_client/src/messages.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;CACZ;AAID,MAAM,WAAW,YAAY;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,WAAW,WAAW;IAC3B,GAAG,EAAE,MAAM,CAAC;CACZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../examples/web_socket_client/src/messages.ts"],"names":[],"mappings":"AAAA,WAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiver.d.ts","sourceRoot":"","sources":["../../../../examples/web_socket_client/src/receiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAO,MAAM,sBAAsB,CAAC;AAGrD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAIzD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Receiver, Ctx } from '@liphium/neoroute-ts';
|
|
2
|
+
import {} from './messages.js';
|
|
3
|
+
export function registerReceiver(receiver) {
|
|
4
|
+
receiver.receive('new_pun_submitted', (_, req) => {
|
|
5
|
+
console.log(`A new pun was submitted by someone, it is ${req.pun}`);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=receiver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiver.js","sourceRoot":"","sources":["../../../../examples/web_socket_client/src/receiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAoB,MAAM,eAAe,CAAC;AAEjD,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IAClD,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAM,EAAE,GAAgB,EAAE,EAAE;QAClE,OAAO,CAAC,GAAG,CAAC,6CAA6C,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Receiver } from '@liphium/neoroute-ts';
|
|
2
|
+
export declare function sendSubmitPunRequest(receiver: Receiver, pun: string): Promise<void>;
|
|
3
|
+
export declare function sendEchoRequest(receiver: Receiver, message: string): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=requests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../../examples/web_socket_client/src/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAO3D,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,eAAe,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Receiver, UserError } from '@liphium/neoroute-ts';
|
|
2
|
+
import {} from './messages.js';
|
|
3
|
+
export async function sendSubmitPunRequest(receiver, pun) {
|
|
4
|
+
try {
|
|
5
|
+
const requestPayload = { pun: pun };
|
|
6
|
+
// sendOk throws an error if it fails, otherwise it's successful
|
|
7
|
+
const res = await receiver.sendOk('submit_pun', requestPayload);
|
|
8
|
+
if (res instanceof UserError) {
|
|
9
|
+
console.log("Couldn't submit pun because:", res.message);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
console.log('Pun submitted successfully!');
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
console.log('Failed to send submit pun request:', err);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export async function sendEchoRequest(receiver, message) {
|
|
19
|
+
try {
|
|
20
|
+
const requestPayload = { message: message };
|
|
21
|
+
const res = await receiver.send('echo', requestPayload);
|
|
22
|
+
if (res instanceof UserError) {
|
|
23
|
+
console.log('Echo failed because:', res.message);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
console.log(`Received ${res.requestNumber}. echo: ${res.message}`);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
console.log('Failed to send echo request:', err);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=requests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../../examples/web_socket_client/src/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAIN,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,QAAkB,EAClB,GAAW;IAEX,IAAI,CAAC;QACJ,MAAM,cAAc,GAAqB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAEtD,gEAAgE;QAChE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAChC,YAAY,EACZ,cAAc,CACd,CAAC;QACF,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO;QACR,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,QAAkB,EAClB,OAAe;IAEf,IAAI,CAAC;QACJ,MAAM,cAAc,GAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAEzD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAC9B,MAAM,EACN,cAAc,CACd,CAAC;QACF,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO;QACR,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,aAAa,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;AACF,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './interfaces.js';
|
|
2
|
+
export * from './config.js';
|
|
3
|
+
export * from './logger.js';
|
|
4
|
+
export * from './client.js';
|
|
5
|
+
export * from './sender.js';
|
|
6
|
+
export * from './receiver.js';
|
|
7
|
+
export * from './util.js';
|
|
8
|
+
export * from './user_error.js';
|
|
9
|
+
export * from './transporter/transporter_http.js';
|
|
10
|
+
export * from './transporter/transporter_websocket.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAE1B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './interfaces.js';
|
|
2
|
+
export * from './config.js';
|
|
3
|
+
export * from './logger.js';
|
|
4
|
+
export * from './client.js';
|
|
5
|
+
export * from './sender.js';
|
|
6
|
+
export * from './receiver.js';
|
|
7
|
+
export * from './util.js';
|
|
8
|
+
export * from './user_error.js';
|
|
9
|
+
export * from './transporter/transporter_http.js';
|
|
10
|
+
export * from './transporter/transporter_websocket.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAE1B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare enum MessageType {
|
|
2
|
+
Response = 0,
|
|
3
|
+
Event = 1
|
|
4
|
+
}
|
|
5
|
+
export interface Message {
|
|
6
|
+
type: MessageType;
|
|
7
|
+
data: Uint8Array;
|
|
8
|
+
}
|
|
9
|
+
export interface Event {
|
|
10
|
+
name: string;
|
|
11
|
+
data: Uint8Array;
|
|
12
|
+
}
|
|
13
|
+
export interface Response {
|
|
14
|
+
id: number;
|
|
15
|
+
has_data: boolean;
|
|
16
|
+
error: boolean;
|
|
17
|
+
data: Uint8Array;
|
|
18
|
+
}
|
|
19
|
+
export interface Request {
|
|
20
|
+
id: number;
|
|
21
|
+
route: string;
|
|
22
|
+
data: Uint8Array;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAEA,oBAAY,WAAW;IACtB,QAAQ,IAAA;IACR,KAAK,IAAA;CACL;AAED,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;CACjB;AAID,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAEpB,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACtB,qDAAQ,CAAA;IACR,+CAAK,CAAA;AACN,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface Logger {
|
|
2
|
+
debug(msg: string, ...args: any[]): void;
|
|
3
|
+
info(msg: string, ...args: any[]): void;
|
|
4
|
+
warn(msg: string, ...args: any[]): void;
|
|
5
|
+
error(msg: string, ...args: any[]): void;
|
|
6
|
+
}
|
|
7
|
+
export declare let logger: Logger;
|
|
8
|
+
export declare function setLogger(l: Logger): void;
|
|
9
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACtB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CACzC;AAGD,eAAO,IAAI,MAAM,EAAE,MAKlB,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,QAElC"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Default logger falls back to the standard console
|
|
2
|
+
export let logger = {
|
|
3
|
+
debug: console.debug,
|
|
4
|
+
info: console.info,
|
|
5
|
+
warn: console.warn,
|
|
6
|
+
error: console.error,
|
|
7
|
+
};
|
|
8
|
+
export function setLogger(l) {
|
|
9
|
+
logger = l;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAOA,oDAAoD;AACpD,MAAM,CAAC,IAAI,MAAM,GAAW;IAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,KAAK,EAAE,OAAO,CAAC,KAAK;CACpB,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,CAAS;IAClC,MAAM,GAAG,CAAC,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Ctx } from './client.js';
|
|
2
|
+
import type { Config } from './config.js';
|
|
3
|
+
import { Sender } from './sender.js';
|
|
4
|
+
import { type Message } from './interfaces.js';
|
|
5
|
+
export declare class Receiver extends Sender {
|
|
6
|
+
private receiver;
|
|
7
|
+
constructor(config: Config);
|
|
8
|
+
protected handleOther(message: Message): void;
|
|
9
|
+
private handleEvent;
|
|
10
|
+
receive<E>(eventName: string, handleFunc: (c: Ctx, data: E) => void): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=receiver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiver.d.ts","sourceRoot":"","sources":["../src/receiver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGxE,qBAAa,QAAS,SAAQ,MAAM;IACnC,OAAO,CAAC,QAAQ,CAA4C;gBAEhD,MAAM,EAAE,MAAM;cAIP,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQtD,OAAO,CAAC,WAAW;IAoBZ,OAAO,CAAC,CAAC,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,GACnC,IAAI;CAUP"}
|
package/dist/receiver.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { decode } from '@msgpack/msgpack';
|
|
2
|
+
import { Ctx } from './client.js';
|
|
3
|
+
import { Sender } from './sender.js';
|
|
4
|
+
import { MessageType } from './interfaces.js';
|
|
5
|
+
import { logger } from './logger.js';
|
|
6
|
+
export class Receiver extends Sender {
|
|
7
|
+
receiver = new Map();
|
|
8
|
+
constructor(config) {
|
|
9
|
+
super(config);
|
|
10
|
+
}
|
|
11
|
+
handleOther(message) {
|
|
12
|
+
if (message.type === MessageType.Event) {
|
|
13
|
+
this.handleEvent(message.data);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
super.handleOther(message);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
handleEvent(eventBytes) {
|
|
20
|
+
let ev;
|
|
21
|
+
try {
|
|
22
|
+
ev = decode(eventBytes);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
logger.info('failed to unmarshal event', error);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const receiverFunc = this.receiver.get(ev.name);
|
|
29
|
+
if (!receiverFunc) {
|
|
30
|
+
logger.info('received event for non existing receiver', ev.name);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const c = new Ctx(ev.data, ev.name);
|
|
34
|
+
receiverFunc(c);
|
|
35
|
+
}
|
|
36
|
+
/// Handle receiving of an event. Only one handleFunc can exist at the same time.
|
|
37
|
+
receive(eventName, handleFunc) {
|
|
38
|
+
this.receiver.set(eventName, (c) => {
|
|
39
|
+
try {
|
|
40
|
+
const data = decode(c.data());
|
|
41
|
+
handleFunc(c, data);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
logger.info('failed to unmarshal event data', error);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=receiver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiver.js","sourceRoot":"","sources":["../src/receiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAc,WAAW,EAAgB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAO,QAAS,SAAQ,MAAM;IAC3B,QAAQ,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE5D,YAAY,MAAc;QACzB,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAEkB,WAAW,CAAC,OAAgB;QAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAEO,WAAW,CAAC,UAAsB;QACzC,IAAI,EAAS,CAAC;QACd,IAAI,CAAC;YACJ,EAAE,GAAG,MAAM,CAAC,UAAU,CAAU,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO;QACR,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO;QACR,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACpC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,iFAAiF;IAC1E,OAAO,CACb,SAAiB,EACjB,UAAqC;QAErC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;YACvC,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAM,CAAC;gBACnC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
|
package/dist/sender.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Message } from './interfaces.js';
|
|
2
|
+
import type { Config } from './config.js';
|
|
3
|
+
import { UserError } from './user_error.js';
|
|
4
|
+
export declare class Sender {
|
|
5
|
+
private config;
|
|
6
|
+
private sendFunc?;
|
|
7
|
+
private requestId;
|
|
8
|
+
private waiters;
|
|
9
|
+
constructor(config: Config);
|
|
10
|
+
getRequestId(): number;
|
|
11
|
+
setSendFunc(sendFunc: (data: Uint8Array) => Promise<void>): void;
|
|
12
|
+
handle(reqData: Uint8Array): void;
|
|
13
|
+
handleResponse(respBytes: Uint8Array): void;
|
|
14
|
+
protected handleOther(message: Message): void;
|
|
15
|
+
removeResponseWaiter(requestId: number): void;
|
|
16
|
+
private sendRequest;
|
|
17
|
+
getConfig(): Config;
|
|
18
|
+
private sendInternal;
|
|
19
|
+
send<RS, RQ>(route: string, req: RQ): Promise<RS | UserError>;
|
|
20
|
+
sendOk<RQ>(route: string, req: RQ): Promise<UserError>;
|
|
21
|
+
sendOkNoRequest(route: string): Promise<UserError>;
|
|
22
|
+
sendNoRequest<RS>(route: string): Promise<RS | UserError>;
|
|
23
|
+
sendNoResponse<RQ>(route: string, req: RQ): Promise<void>;
|
|
24
|
+
sendPing(route: string): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=sender.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sender.d.ts","sourceRoot":"","sources":["../src/sender.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,OAAO,EAIZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAM1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,MAAM;IAClB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAsC;IACvD,OAAO,CAAC,SAAS,CAAa;IAG9B,OAAO,CAAC,OAAO,CAAoD;gBAEvD,MAAM,EAAE,MAAM;IAOnB,YAAY,IAAI,MAAM;IAKtB,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIhE,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAgBjC,cAAc,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAwBlD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;YAItC,WAAW;IAmClB,SAAS,IAAI,MAAM;YAKZ,YAAY;IA6BnB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAM7D,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAQhD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIlD,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAQzD,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD"}
|