@liphium/neoroute-ts 0.1.0 → 0.2.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.
Files changed (124) hide show
  1. package/.github/workflows/release.yml +44 -0
  2. package/.release-please-manifest.json +3 -0
  3. package/CHANGELOG.md +55 -0
  4. package/LICENSE +165 -0
  5. package/README.md +39 -0
  6. package/package.json +3 -3
  7. package/release-please-config.json +11 -0
  8. package/dist/client.d.ts +0 -8
  9. package/dist/client.d.ts.map +0 -1
  10. package/dist/client.js +0 -15
  11. package/dist/client.js.map +0 -1
  12. package/dist/config.d.ts +0 -5
  13. package/dist/config.d.ts.map +0 -1
  14. package/dist/config.js +0 -2
  15. package/dist/config.js.map +0 -1
  16. package/dist/examples/http_client/src/main.d.ts +0 -2
  17. package/dist/examples/http_client/src/main.d.ts.map +0 -1
  18. package/dist/examples/http_client/src/main.js +0 -51
  19. package/dist/examples/http_client/src/main.js.map +0 -1
  20. package/dist/examples/http_client/src/messages.d.ts +0 -9
  21. package/dist/examples/http_client/src/messages.d.ts.map +0 -1
  22. package/dist/examples/http_client/src/messages.js +0 -2
  23. package/dist/examples/http_client/src/messages.js.map +0 -1
  24. package/dist/examples/http_client/src/requests.d.ts +0 -5
  25. package/dist/examples/http_client/src/requests.d.ts.map +0 -1
  26. package/dist/examples/http_client/src/requests.js +0 -56
  27. package/dist/examples/http_client/src/requests.js.map +0 -1
  28. package/dist/examples/web_socket_client/src/main.d.ts +0 -2
  29. package/dist/examples/web_socket_client/src/main.d.ts.map +0 -1
  30. package/dist/examples/web_socket_client/src/main.js +0 -59
  31. package/dist/examples/web_socket_client/src/main.js.map +0 -1
  32. package/dist/examples/web_socket_client/src/messages.d.ts +0 -14
  33. package/dist/examples/web_socket_client/src/messages.d.ts.map +0 -1
  34. package/dist/examples/web_socket_client/src/messages.js +0 -3
  35. package/dist/examples/web_socket_client/src/messages.js.map +0 -1
  36. package/dist/examples/web_socket_client/src/receiver.d.ts +0 -3
  37. package/dist/examples/web_socket_client/src/receiver.d.ts.map +0 -1
  38. package/dist/examples/web_socket_client/src/receiver.js +0 -8
  39. package/dist/examples/web_socket_client/src/receiver.js.map +0 -1
  40. package/dist/examples/web_socket_client/src/requests.d.ts +0 -4
  41. package/dist/examples/web_socket_client/src/requests.d.ts.map +0 -1
  42. package/dist/examples/web_socket_client/src/requests.js +0 -32
  43. package/dist/examples/web_socket_client/src/requests.js.map +0 -1
  44. package/dist/index.d.ts +0 -11
  45. package/dist/index.d.ts.map +0 -1
  46. package/dist/index.js +0 -11
  47. package/dist/index.js.map +0 -1
  48. package/dist/interfaces.d.ts +0 -24
  49. package/dist/interfaces.d.ts.map +0 -1
  50. package/dist/interfaces.js +0 -7
  51. package/dist/interfaces.js.map +0 -1
  52. package/dist/logger.d.ts +0 -9
  53. package/dist/logger.d.ts.map +0 -1
  54. package/dist/logger.js +0 -11
  55. package/dist/logger.js.map +0 -1
  56. package/dist/receiver.d.ts +0 -12
  57. package/dist/receiver.d.ts.map +0 -1
  58. package/dist/receiver.js +0 -49
  59. package/dist/receiver.js.map +0 -1
  60. package/dist/sender.d.ts +0 -26
  61. package/dist/sender.d.ts.map +0 -1
  62. package/dist/sender.js +0 -135
  63. package/dist/sender.js.map +0 -1
  64. package/dist/src/client.d.ts +0 -8
  65. package/dist/src/client.d.ts.map +0 -1
  66. package/dist/src/client.js +0 -15
  67. package/dist/src/client.js.map +0 -1
  68. package/dist/src/config.d.ts +0 -5
  69. package/dist/src/config.d.ts.map +0 -1
  70. package/dist/src/config.js +0 -2
  71. package/dist/src/config.js.map +0 -1
  72. package/dist/src/index.d.ts +0 -11
  73. package/dist/src/index.d.ts.map +0 -1
  74. package/dist/src/index.js +0 -11
  75. package/dist/src/index.js.map +0 -1
  76. package/dist/src/interfaces.d.ts +0 -24
  77. package/dist/src/interfaces.d.ts.map +0 -1
  78. package/dist/src/interfaces.js +0 -7
  79. package/dist/src/interfaces.js.map +0 -1
  80. package/dist/src/logger.d.ts +0 -9
  81. package/dist/src/logger.d.ts.map +0 -1
  82. package/dist/src/logger.js +0 -11
  83. package/dist/src/logger.js.map +0 -1
  84. package/dist/src/receiver.d.ts +0 -12
  85. package/dist/src/receiver.d.ts.map +0 -1
  86. package/dist/src/receiver.js +0 -49
  87. package/dist/src/receiver.js.map +0 -1
  88. package/dist/src/sender.d.ts +0 -26
  89. package/dist/src/sender.d.ts.map +0 -1
  90. package/dist/src/sender.js +0 -135
  91. package/dist/src/sender.js.map +0 -1
  92. package/dist/src/transporter/transporter_http.d.ts +0 -6
  93. package/dist/src/transporter/transporter_http.d.ts.map +0 -1
  94. package/dist/src/transporter/transporter_http.js +0 -30
  95. package/dist/src/transporter/transporter_http.js.map +0 -1
  96. package/dist/src/transporter/transporter_websocket.d.ts +0 -17
  97. package/dist/src/transporter/transporter_websocket.d.ts.map +0 -1
  98. package/dist/src/transporter/transporter_websocket.js +0 -93
  99. package/dist/src/transporter/transporter_websocket.js.map +0 -1
  100. package/dist/src/user_error.d.ts +0 -4
  101. package/dist/src/user_error.d.ts.map +0 -1
  102. package/dist/src/user_error.js +0 -11
  103. package/dist/src/user_error.js.map +0 -1
  104. package/dist/src/util.d.ts +0 -9
  105. package/dist/src/util.d.ts.map +0 -1
  106. package/dist/src/util.js +0 -42
  107. package/dist/src/util.js.map +0 -1
  108. package/dist/transporter/transporter_http.d.ts +0 -6
  109. package/dist/transporter/transporter_http.d.ts.map +0 -1
  110. package/dist/transporter/transporter_http.js +0 -30
  111. package/dist/transporter/transporter_http.js.map +0 -1
  112. package/dist/transporter/transporter_websocket.d.ts +0 -17
  113. package/dist/transporter/transporter_websocket.d.ts.map +0 -1
  114. package/dist/transporter/transporter_websocket.js +0 -93
  115. package/dist/transporter/transporter_websocket.js.map +0 -1
  116. package/dist/user_error.d.ts +0 -4
  117. package/dist/user_error.d.ts.map +0 -1
  118. package/dist/user_error.js +0 -11
  119. package/dist/user_error.js.map +0 -1
  120. package/dist/util.d.ts +0 -9
  121. package/dist/util.d.ts.map +0 -1
  122. package/dist/util.js +0 -42
  123. package/dist/util.js.map +0 -1
  124. package/readme.md +0 -49
@@ -1,49 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,26 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,135 +0,0 @@
1
- import { decode, encode } from '@msgpack/msgpack';
2
- import { MessageType, } from './interfaces.js';
3
- import { logger } from './logger.js';
4
- import { marshalRequestData, unmarshalResponseData, withTimeout, } from './util.js';
5
- import { UserError } from './user_error.js';
6
- export class Sender {
7
- config;
8
- sendFunc;
9
- requestId = 0;
10
- // Maps a request ID to a resolve function to fulfill the promise
11
- waiters = new Map();
12
- constructor(config) {
13
- this.config = config;
14
- if (!this.config.requestTimeout) {
15
- this.config.requestTimeout = 5000; // default timeout 5 seconds
16
- }
17
- }
18
- getRequestId() {
19
- this.requestId++;
20
- return this.requestId;
21
- }
22
- setSendFunc(sendFunc) {
23
- this.sendFunc = sendFunc;
24
- }
25
- handle(reqData) {
26
- let message;
27
- try {
28
- message = decode(reqData);
29
- }
30
- catch (error) {
31
- logger.info('failed to unmarshal message', error);
32
- return;
33
- }
34
- if (message.type === MessageType.Response) {
35
- this.handleResponse(message.data);
36
- }
37
- else {
38
- this.handleOther(message);
39
- }
40
- }
41
- handleResponse(respBytes) {
42
- let resp;
43
- try {
44
- resp = decode(respBytes);
45
- }
46
- catch (error) {
47
- logger.info('failed to unmarshal response', error);
48
- return;
49
- }
50
- if (resp.id === -1 && resp.error) {
51
- const decoder = new TextDecoder();
52
- this.config.errorHandler(new Error(decoder.decode(resp.data)));
53
- return;
54
- }
55
- const resolveFunc = this.waiters.get(resp.id);
56
- if (!resolveFunc) {
57
- logger.info('received response for non existing waiter', resp.id);
58
- return;
59
- }
60
- resolveFunc(resp);
61
- }
62
- handleOther(message) {
63
- logger.info('received unsupported message type', message.type);
64
- }
65
- removeResponseWaiter(requestId) {
66
- this.waiters.delete(requestId);
67
- }
68
- async sendRequest(route, reqData, wantResponse) {
69
- const reqId = this.getRequestId();
70
- if (!this.sendFunc) {
71
- throw new Error('sendFunc is not set');
72
- }
73
- const req = {
74
- id: reqId,
75
- route: route,
76
- data: reqData,
77
- };
78
- let reqBytes;
79
- try {
80
- reqBytes = encode(req);
81
- }
82
- catch (err) {
83
- throw new Error(`failed to marshal request: ${err}`);
84
- }
85
- let respPromise = Promise.resolve({});
86
- if (wantResponse) {
87
- respPromise = new Promise((resolve) => {
88
- this.waiters.set(reqId, resolve);
89
- });
90
- }
91
- await this.sendFunc(reqBytes);
92
- return { promise: respPromise, reqId: reqId };
93
- }
94
- getConfig() {
95
- return this.config;
96
- }
97
- /// Internal helper for making send functions easier to write.
98
- async sendInternal(route, req, waitForResponse) {
99
- const { promise: respPromise, reqId } = await this.sendRequest(route, req != undefined ? marshalRequestData(req) : new Uint8Array(), true);
100
- // When we want to wait for response, properly serialize it
101
- if (waitForResponse) {
102
- const timeout = this.config.requestTimeout ?? 5000;
103
- const res = await withTimeout(respPromise, timeout);
104
- this.removeResponseWaiter(reqId);
105
- if (res.error) {
106
- const decoder = new TextDecoder();
107
- return new UserError(decoder.decode(res.data));
108
- }
109
- return unmarshalResponseData(res.data);
110
- }
111
- else {
112
- // Otherwise signal that nothing will be waited for
113
- return undefined;
114
- }
115
- }
116
- send(route, req) {
117
- return this.sendInternal(route, req, true);
118
- }
119
- sendOk(route, req) {
120
- return this.sendInternal(route, req, true);
121
- }
122
- async sendOkNoRequest(route) {
123
- return this.sendInternal(route, undefined, false);
124
- }
125
- async sendNoRequest(route) {
126
- return this.sendInternal(route, undefined, true);
127
- }
128
- async sendNoResponse(route, req) {
129
- await this.sendInternal(route, req, false);
130
- }
131
- async sendPing(route) {
132
- await this.sendInternal(route, undefined, false);
133
- }
134
- }
135
- //# sourceMappingURL=sender.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../src/sender.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { Sender } from '../sender.js';
2
- export declare class HTTPTransporter {
3
- private sender;
4
- constructor(s: Sender, method: string, url: string);
5
- }
6
- //# sourceMappingURL=transporter_http.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transporter_http.d.ts","sourceRoot":"","sources":["../../../src/transporter/transporter_http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEX,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CA+BlD"}
@@ -1,30 +0,0 @@
1
- export class HTTPTransporter {
2
- sender;
3
- constructor(s, method, url) {
4
- this.sender = s;
5
- this.sender.setSendFunc(async (data) => {
6
- const controller = new AbortController();
7
- const timeout = setTimeout(() => controller.abort(), 20000);
8
- try {
9
- const response = await fetch(url, {
10
- method: method,
11
- body: data,
12
- signal: controller.signal,
13
- headers: {
14
- 'Content-Type': 'application/octet-stream',
15
- },
16
- });
17
- // Check for transporter errors
18
- if (!response.ok) {
19
- throw new Error(`received non ok status ${response.status} ${response.statusText}`);
20
- }
21
- // Let sender handle the response routing
22
- this.sender.handle(await response.bytes());
23
- }
24
- finally {
25
- clearTimeout(timeout);
26
- }
27
- });
28
- }
29
- }
30
- //# sourceMappingURL=transporter_http.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transporter_http.js","sourceRoot":"","sources":["../../../src/transporter/transporter_http.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAe;IACnB,MAAM,CAAS;IAEvB,YAAY,CAAS,EAAE,MAAc,EAAE,GAAW;QACjD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAgB,EAAiB,EAAE;YACjE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;YAE5D,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBACjC,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAA2B;oBACjC,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,OAAO,EAAE;wBACR,cAAc,EAAE,0BAA0B;qBAC1C;iBACD,CAAC,CAAC;gBAEH,+BAA+B;gBAC/B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CACd,0BAA0B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAClE,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5C,CAAC;oBAAS,CAAC;gBACV,YAAY,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
@@ -1,17 +0,0 @@
1
- import type { Receiver } from '../receiver.js';
2
- export interface WebSocketOptions {
3
- connectionTimeout?: number;
4
- onOpen?: () => void;
5
- }
6
- export declare class WebSocketTransporter {
7
- private conn;
8
- private receiver;
9
- private options;
10
- private connected;
11
- private queue;
12
- constructor(receiver: Receiver, options: WebSocketOptions);
13
- connect(url: string): void;
14
- close(reason?: string): void;
15
- isConnected(): boolean;
16
- }
17
- //# sourceMappingURL=transporter_websocket.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transporter_websocket.d.ts","sourceRoot":"","sources":["../../../src/transporter/transporter_websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAEhC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,KAAK,CAAoB;gBAErB,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB;IAQlD,OAAO,CAAC,GAAG,EAAE,MAAM;IAwEnB,KAAK,CAAC,MAAM,GAAE,MAA4B,GAAG,IAAI;IAajD,WAAW,IAAI,OAAO;CAG7B"}
@@ -1,93 +0,0 @@
1
- import { logger } from '../logger.js';
2
- export class WebSocketTransporter {
3
- conn = null;
4
- receiver;
5
- options;
6
- connected = false;
7
- queue = [];
8
- constructor(receiver, options) {
9
- this.receiver = receiver;
10
- this.options = options;
11
- }
12
- /// Will start a connection to the server. Will not block until the connection is open.
13
- ///
14
- /// All things sent before the connection is open are queued, so feel free to send already after calling connect.
15
- connect(url) {
16
- if (this.connected || this.conn) {
17
- return;
18
- }
19
- // Queue outgoing messages until connection is open
20
- this.receiver.setSendFunc(async (data) => {
21
- if (this.connected && this.conn?.readyState === WebSocket.OPEN) {
22
- this.conn.send(data); // TODO: Find out if this is actually fine xd
23
- }
24
- else {
25
- this.queue.push(data);
26
- }
27
- });
28
- // Add a timeout to make sure the connection actually happens
29
- const timeout = setTimeout(() => {
30
- if (this.conn?.readyState !== WebSocket.OPEN) {
31
- this.close('connection timeout');
32
- }
33
- }, this.options.connectionTimeout ?? 20000);
34
- // Init WebSocket to open the actual connection
35
- this.conn = new WebSocket(url);
36
- this.conn.binaryType = 'arraybuffer';
37
- this.conn.onopen = () => {
38
- if (!this.conn)
39
- return;
40
- clearTimeout(timeout);
41
- this.connected = true;
42
- // Call onOpen callback
43
- this.options.onOpen?.();
44
- // Flush queue
45
- while (this.queue.length > 0) {
46
- const data = this.queue.shift();
47
- if (data) {
48
- this.conn.send(data);
49
- }
50
- }
51
- };
52
- // When there is an error, we immediately disconnect
53
- this.conn.onerror = () => {
54
- if (this.conn) {
55
- this.close('websocket error');
56
- }
57
- };
58
- // Even on a close, we want to quickly close the thingy to notify the event handler for onError and update internal state
59
- this.conn.onclose = (event) => {
60
- if (this.conn) {
61
- this.close(`websocket connection closed: ${event.code} ${event.reason}`);
62
- }
63
- };
64
- // Forward messages to the receiver
65
- this.conn.onmessage = (event) => {
66
- if (event.data instanceof ArrayBuffer) {
67
- this.receiver.handle(new Uint8Array(event.data));
68
- }
69
- else {
70
- // If we get this, the browser is doing something weird
71
- logger.error('wrong message type received:', typeof event.data);
72
- this.close('wrong kind of message received');
73
- }
74
- };
75
- }
76
- /// Closes the connection to the server. Will not throw if the connection is already closed.
77
- close(reason = 'Connection closed') {
78
- const wasConnected = this.connected || !!this.conn;
79
- this.connected = false;
80
- if (this.conn) {
81
- const c = this.conn;
82
- this.conn = null;
83
- c.close(1000, reason);
84
- }
85
- if (wasConnected) {
86
- this.receiver.getConfig().errorHandler(new Error(reason));
87
- }
88
- }
89
- isConnected() {
90
- return this.connected;
91
- }
92
- }
93
- //# sourceMappingURL=transporter_websocket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transporter_websocket.js","sourceRoot":"","sources":["../../../src/transporter/transporter_websocket.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare class UserError extends Error {
2
- constructor(message: string);
3
- }
4
- //# sourceMappingURL=user_error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user_error.d.ts","sourceRoot":"","sources":["../../src/user_error.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAU,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAmB3B"}
@@ -1,11 +0,0 @@
1
- export class UserError extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.name = 'UserError';
5
- if (typeof Error
6
- .captureStackTrace === 'function') {
7
- Error.captureStackTrace(this, UserError);
8
- }
9
- }
10
- }
11
- //# sourceMappingURL=user_error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user_error.js","sourceRoot":"","sources":["../../src/user_error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAU,SAAQ,KAAK;IACnC,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QAExB,IACC,OAAQ,KAA4D;aAClE,iBAAiB,KAAK,UAAU,EACjC,CAAC;YAED,KAMA,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;CACD"}
@@ -1,9 +0,0 @@
1
- export declare function newPromiseWithResolver<T>(): {
2
- resolve: (value: T | PromiseLike<T>) => void;
3
- reject: (reason?: any) => void;
4
- promise: Promise<T>;
5
- };
6
- export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, onTimeout?: () => void): Promise<T>;
7
- export declare function marshalRequestData<RQ>(req: RQ): Uint8Array;
8
- export declare function unmarshalResponseData<RS>(respBytes: Uint8Array): RS;
9
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAGA,wBAAgB,sBAAsB,CAAC,CAAC,KAAK;IAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACpB,CAUA;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAC5B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,IAAI,GACpB,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAM1D;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,GAAG,EAAE,CAMnE"}
package/dist/src/util.js DELETED
@@ -1,42 +0,0 @@
1
- import { decode, encode } from '@msgpack/msgpack';
2
- // Creates a promise that can be resolved or rejected externally. This is useful for creating a promise that can be resolved or rejected at a later time, such as when waiting for an event to occur.
3
- export function newPromiseWithResolver() {
4
- let resolve;
5
- let reject;
6
- const promise = new Promise((res, rej) => {
7
- resolve = res;
8
- reject = rej;
9
- });
10
- return { resolve, reject, promise };
11
- }
12
- // Helper to create a timeout promise
13
- export function withTimeout(promise, timeoutMs, onTimeout) {
14
- let timeoutId;
15
- const timeoutPromise = new Promise((_, reject) => {
16
- timeoutId = setTimeout(() => {
17
- onTimeout?.();
18
- reject(new Error(`waiting for response timed out after ${timeoutMs}ms`));
19
- }, timeoutMs);
20
- });
21
- return Promise.race([
22
- promise.finally(() => clearTimeout(timeoutId)),
23
- timeoutPromise,
24
- ]);
25
- }
26
- export function marshalRequestData(req) {
27
- try {
28
- return encode(req);
29
- }
30
- catch (error) {
31
- throw new Error(`failed to marshal request data: ${error}`);
32
- }
33
- }
34
- export function unmarshalResponseData(respBytes) {
35
- try {
36
- return decode(respBytes);
37
- }
38
- catch (error) {
39
- throw new Error(`failed to unmarshal response data: ${error}`);
40
- }
41
- }
42
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElD,qMAAqM;AACrM,MAAM,UAAU,sBAAsB;IAKrC,IAAI,OAA6C,CAAC;IAClD,IAAI,MAA+B,CAAC;IAEpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,WAAW,CAC1B,OAAmB,EACnB,SAAiB,EACjB,SAAsB;IAEtB,IAAI,SAAwC,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACnD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,SAAS,EAAE,EAAE,CAAC;YACd,MAAM,CACL,IAAI,KAAK,CACR,wCAAwC,SAAS,IAAI,CACrD,CACD,CAAC;QACH,CAAC,EAAE,SAAS,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9C,cAAc;KACd,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAK,GAAO;IAC7C,IAAI,CAAC;QACJ,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;AACF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAK,SAAqB;IAC9D,IAAI,CAAC;QACJ,OAAO,MAAM,CAAC,SAAS,CAAO,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;AACF,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { Sender } from '../sender.js';
2
- export declare class HTTPTransporter {
3
- private sender;
4
- constructor(s: Sender, method: string, url: string);
5
- }
6
- //# sourceMappingURL=transporter_http.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transporter_http.d.ts","sourceRoot":"","sources":["../../src/transporter/transporter_http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEX,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CA+BlD"}
@@ -1,30 +0,0 @@
1
- export class HTTPTransporter {
2
- sender;
3
- constructor(s, method, url) {
4
- this.sender = s;
5
- this.sender.setSendFunc(async (data) => {
6
- const controller = new AbortController();
7
- const timeout = setTimeout(() => controller.abort(), 20000);
8
- try {
9
- const response = await fetch(url, {
10
- method: method,
11
- body: data,
12
- signal: controller.signal,
13
- headers: {
14
- 'Content-Type': 'application/octet-stream',
15
- },
16
- });
17
- // Check for transporter errors
18
- if (!response.ok) {
19
- throw new Error(`received non ok status ${response.status} ${response.statusText}`);
20
- }
21
- // Let sender handle the response routing
22
- this.sender.handle(await response.bytes());
23
- }
24
- finally {
25
- clearTimeout(timeout);
26
- }
27
- });
28
- }
29
- }
30
- //# sourceMappingURL=transporter_http.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transporter_http.js","sourceRoot":"","sources":["../../src/transporter/transporter_http.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAe;IACnB,MAAM,CAAS;IAEvB,YAAY,CAAS,EAAE,MAAc,EAAE,GAAW;QACjD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAgB,EAAiB,EAAE;YACjE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;YAE5D,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBACjC,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAA2B;oBACjC,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,OAAO,EAAE;wBACR,cAAc,EAAE,0BAA0B;qBAC1C;iBACD,CAAC,CAAC;gBAEH,+BAA+B;gBAC/B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CACd,0BAA0B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAClE,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5C,CAAC;oBAAS,CAAC;gBACV,YAAY,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
@@ -1,17 +0,0 @@
1
- import type { Receiver } from '../receiver.js';
2
- export interface WebSocketOptions {
3
- connectionTimeout?: number;
4
- onOpen?: () => void;
5
- }
6
- export declare class WebSocketTransporter {
7
- private conn;
8
- private receiver;
9
- private options;
10
- private connected;
11
- private queue;
12
- constructor(receiver: Receiver, options: WebSocketOptions);
13
- connect(url: string): void;
14
- close(reason?: string): void;
15
- isConnected(): boolean;
16
- }
17
- //# sourceMappingURL=transporter_websocket.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transporter_websocket.d.ts","sourceRoot":"","sources":["../../src/transporter/transporter_websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAEhC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,KAAK,CAAoB;gBAErB,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB;IAQlD,OAAO,CAAC,GAAG,EAAE,MAAM;IAwEnB,KAAK,CAAC,MAAM,GAAE,MAA4B,GAAG,IAAI;IAajD,WAAW,IAAI,OAAO;CAG7B"}