@enkaku/client 0.12.0 → 0.12.2
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/lib/client.d.ts +2 -2
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +47 -16
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/package.json +10 -8
package/lib/client.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Disposer } from '@enkaku/async';
|
|
2
|
+
import { type Logger } from '@enkaku/log';
|
|
2
3
|
import type { AnyProcedureDefinition, AnyRequestProcedureDefinition, ChannelProcedureDefinition, ClientTransportOf, DataOf, EventProcedureDefinition, ProtocolDefinition, RequestProcedureDefinition, ReturnOf, StreamProcedureDefinition } from '@enkaku/protocol';
|
|
3
4
|
import { type TokenSigner } from '@enkaku/token';
|
|
4
5
|
type FilterNever<T> = {
|
|
@@ -61,6 +62,7 @@ export type ClientParams<Protocol extends ProtocolDefinition> = {
|
|
|
61
62
|
getRandomID?: () => string;
|
|
62
63
|
handleTransportDisposed?: (signal: AbortSignal) => ClientTransportOf<Protocol> | void;
|
|
63
64
|
handleTransportError?: (error: Error) => ClientTransportOf<Protocol> | void;
|
|
65
|
+
logger?: Logger;
|
|
64
66
|
transport: ClientTransportOf<Protocol>;
|
|
65
67
|
serverID?: string;
|
|
66
68
|
signer?: TokenSigner | Promise<TokenSigner>;
|
|
@@ -68,8 +70,6 @@ export type ClientParams<Protocol extends ProtocolDefinition> = {
|
|
|
68
70
|
export declare class Client<Protocol extends ProtocolDefinition, ClientDefinitions extends ClientDefinitionsType<Protocol> = ClientDefinitionsType<Protocol>> extends Disposer {
|
|
69
71
|
#private;
|
|
70
72
|
constructor(params: ClientParams<Protocol>);
|
|
71
|
-
/** @internal */
|
|
72
|
-
_dispose(reason?: unknown): Promise<void>;
|
|
73
73
|
sendEvent<Procedure extends keyof ClientDefinitions['Events'] & string, T extends ClientDefinitions['Events'][Procedure] = ClientDefinitions['Events'][Procedure]>(procedure: Procedure, ...args: T['Data'] extends never ? [] : [T['Data']]): Promise<void>;
|
|
74
74
|
request<Procedure extends keyof ClientDefinitions['Requests'] & string, T extends ClientDefinitions['Requests'][Procedure] = ClientDefinitions['Requests'][Procedure]>(procedure: Procedure, ...args: T['Param'] extends never ? [config?: {
|
|
75
75
|
id?: string;
|
package/lib/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAGV,sBAAsB,EACtB,6BAA6B,EAE7B,0BAA0B,EAC1B,iBAAiB,EACjB,MAAM,EACN,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,QAAQ,EACR,yBAAyB,EAC1B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/lib/client.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Disposer, defer } from '@enkaku/async';
|
|
2
|
-
import {
|
|
2
|
+
import { getEnkakuLogger } from '@enkaku/log';
|
|
3
|
+
import { createPipe, writeTo } from '@enkaku/stream';
|
|
3
4
|
import { createUnsignedToken } from '@enkaku/token';
|
|
4
5
|
import { RequestError } from './error.js';
|
|
5
6
|
function createController(onDone) {
|
|
@@ -63,21 +64,26 @@ export class Client extends Disposer {
|
|
|
63
64
|
#handleTransportDisposed;
|
|
64
65
|
// biome-ignore lint/suspicious/noConfusingVoidType: return type
|
|
65
66
|
#handleTransportError;
|
|
67
|
+
#logger;
|
|
66
68
|
#transport;
|
|
67
69
|
constructor(params){
|
|
68
|
-
super(
|
|
70
|
+
super({
|
|
71
|
+
dispose: async (reason)=>{
|
|
72
|
+
this.#abortControllers(reason);
|
|
73
|
+
await this.#transport.dispose(reason);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
69
76
|
this.#createMessage = getCreateMessage(params.signer, params.serverID);
|
|
70
77
|
this.#getRandomID = params.getRandomID ?? defaultRandomID;
|
|
71
78
|
this.#handleTransportDisposed = params.handleTransportDisposed;
|
|
72
79
|
this.#handleTransportError = params.handleTransportError;
|
|
80
|
+
this.#logger = params.logger ?? getEnkakuLogger('client', {
|
|
81
|
+
clientID: this.#getRandomID()
|
|
82
|
+
});
|
|
73
83
|
this.#transport = params.transport;
|
|
74
84
|
// Start reading from transport
|
|
75
85
|
this.#setupTransport();
|
|
76
86
|
}
|
|
77
|
-
/** @internal */ async _dispose(reason) {
|
|
78
|
-
this.#abortControllers(reason);
|
|
79
|
-
await this.#transport.dispose(reason);
|
|
80
|
-
}
|
|
81
87
|
#abortControllers(reason) {
|
|
82
88
|
if (!this.signal.aborted) {
|
|
83
89
|
for (const controller of Object.values(this.#controllers)){
|
|
@@ -134,11 +140,14 @@ export class Client extends Disposer {
|
|
|
134
140
|
}
|
|
135
141
|
const controller = this.#controllers[msg.payload.rid];
|
|
136
142
|
if (controller == null) {
|
|
137
|
-
|
|
143
|
+
this.#logger.warn('controller not found for request {rid}', {
|
|
144
|
+
rid: msg.payload.rid
|
|
145
|
+
});
|
|
138
146
|
continue;
|
|
139
147
|
}
|
|
140
148
|
switch(msg.payload.typ){
|
|
141
149
|
case 'error':
|
|
150
|
+
this.#logger.debug('received error reply for request {rid}');
|
|
142
151
|
controller.error(RequestError.fromPayload(msg.payload));
|
|
143
152
|
delete this.#controllers[msg.payload.rid];
|
|
144
153
|
break;
|
|
@@ -146,6 +155,7 @@ export class Client extends Disposer {
|
|
|
146
155
|
void controller.receive?.write(msg.payload.val);
|
|
147
156
|
break;
|
|
148
157
|
case 'result':
|
|
158
|
+
this.#logger.trace('received result reply for request {rid}');
|
|
149
159
|
controller.ok(msg.payload.val);
|
|
150
160
|
delete this.#controllers[msg.payload.rid];
|
|
151
161
|
break;
|
|
@@ -191,6 +201,9 @@ export class Client extends Disposer {
|
|
|
191
201
|
typ: 'event',
|
|
192
202
|
prc: procedure
|
|
193
203
|
};
|
|
204
|
+
this.#logger.trace('send event {procedure}', {
|
|
205
|
+
procedure
|
|
206
|
+
});
|
|
194
207
|
await this.#write(payload);
|
|
195
208
|
}
|
|
196
209
|
request(procedure, ...args) {
|
|
@@ -199,6 +212,10 @@ export class Client extends Disposer {
|
|
|
199
212
|
const rid = config.id ?? this.#getRandomID();
|
|
200
213
|
const providedSignal = config?.signal;
|
|
201
214
|
if (providedSignal?.aborted) {
|
|
215
|
+
this.#logger.debug('reject aborted request {procedure} with ID { rid }', {
|
|
216
|
+
procedure,
|
|
217
|
+
rid
|
|
218
|
+
});
|
|
202
219
|
return createRequest(rid, controller, providedSignal, Promise.reject(providedSignal));
|
|
203
220
|
}
|
|
204
221
|
this.#controllers[rid] = controller;
|
|
@@ -213,6 +230,10 @@ export class Client extends Disposer {
|
|
|
213
230
|
rid,
|
|
214
231
|
prc: procedure
|
|
215
232
|
};
|
|
233
|
+
this.#logger.trace('send request {procedure} with ID {rid}', {
|
|
234
|
+
procedure,
|
|
235
|
+
rid
|
|
236
|
+
});
|
|
216
237
|
const sent = this.#write(payload);
|
|
217
238
|
const signal = this.#handleSignal(rid, controller, providedSignal);
|
|
218
239
|
return createRequest(rid, controller, signal, sent);
|
|
@@ -227,6 +248,10 @@ export class Client extends Disposer {
|
|
|
227
248
|
const rid = config.id ?? this.#getRandomID();
|
|
228
249
|
const providedSignal = config?.signal;
|
|
229
250
|
if (providedSignal?.aborted) {
|
|
251
|
+
this.#logger.debug('reject aborted stream creation {procedure} with ID {rid}', {
|
|
252
|
+
procedure,
|
|
253
|
+
rid
|
|
254
|
+
});
|
|
230
255
|
return createStream(rid, controller, providedSignal, Promise.reject(providedSignal), receive.readable);
|
|
231
256
|
}
|
|
232
257
|
this.#controllers[rid] = controller;
|
|
@@ -241,6 +266,10 @@ export class Client extends Disposer {
|
|
|
241
266
|
rid,
|
|
242
267
|
prc: procedure
|
|
243
268
|
};
|
|
269
|
+
this.#logger.trace('create stream {procedure} with ID {rid}', {
|
|
270
|
+
procedure,
|
|
271
|
+
rid
|
|
272
|
+
});
|
|
244
273
|
const sent = this.#write(payload);
|
|
245
274
|
const signal = this.#handleSignal(rid, controller, providedSignal);
|
|
246
275
|
return createStream(rid, controller, signal, sent, receive.readable);
|
|
@@ -255,14 +284,15 @@ export class Client extends Disposer {
|
|
|
255
284
|
const rid = config.id ?? this.#getRandomID();
|
|
256
285
|
const providedSignal = config?.signal;
|
|
257
286
|
if (providedSignal?.aborted) {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
write: send
|
|
287
|
+
this.#logger.debug('reject aborted channel creation {procedure} with ID {rid}', {
|
|
288
|
+
procedure,
|
|
289
|
+
rid
|
|
262
290
|
});
|
|
291
|
+
// no-op
|
|
292
|
+
const send = async (_val)=>{};
|
|
263
293
|
return Object.assign(createStream(rid, controller, providedSignal, Promise.reject(providedSignal), receive.readable), {
|
|
264
294
|
send,
|
|
265
|
-
writable
|
|
295
|
+
writable: writeTo(send)
|
|
266
296
|
});
|
|
267
297
|
}
|
|
268
298
|
this.#controllers[rid] = controller;
|
|
@@ -277,6 +307,10 @@ export class Client extends Disposer {
|
|
|
277
307
|
rid,
|
|
278
308
|
prc: procedure
|
|
279
309
|
};
|
|
310
|
+
this.#logger.trace('create channel {procedure} with ID {rid}', {
|
|
311
|
+
procedure,
|
|
312
|
+
rid
|
|
313
|
+
});
|
|
280
314
|
const sent = this.#write(payload);
|
|
281
315
|
const signal = this.#handleSignal(rid, controller, providedSignal);
|
|
282
316
|
const send = async (val)=>{
|
|
@@ -286,12 +320,9 @@ export class Client extends Disposer {
|
|
|
286
320
|
val
|
|
287
321
|
});
|
|
288
322
|
};
|
|
289
|
-
const writable = new WritableStream({
|
|
290
|
-
write: send
|
|
291
|
-
});
|
|
292
323
|
return Object.assign(createStream(rid, controller, signal, sent, receive.readable), {
|
|
293
324
|
send,
|
|
294
|
-
writable
|
|
325
|
+
writable: writeTo(send)
|
|
295
326
|
});
|
|
296
327
|
}
|
|
297
328
|
}
|
package/lib/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @module client
|
|
11
11
|
*/
|
|
12
|
-
export { Client } from './client.js';
|
|
13
12
|
export type { ChannelCall, ChannelDefinitionsType, ClientDefinitionsType, ClientParams, EventDefinitionsType, RequestCall, RequestDefinitionsType, StreamCall, StreamDefinitionsType, } from './client.js';
|
|
13
|
+
export { Client } from './client.js';
|
|
14
14
|
export { type ErrorObjectType, RequestError, type RequestErrorParams } from './error.js';
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,YAAY,EACV,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,sBAAsB,EACtB,UAAU,EACV,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,eAAe,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enkaku/client",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://enkaku.dev",
|
|
6
6
|
"description": "Enkaku RPC client",
|
|
@@ -26,13 +26,15 @@
|
|
|
26
26
|
],
|
|
27
27
|
"sideEffects": false,
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@enkaku/async": "^0.12.
|
|
30
|
-
"@enkaku/
|
|
31
|
-
"@enkaku/
|
|
29
|
+
"@enkaku/async": "^0.12.2",
|
|
30
|
+
"@enkaku/execution": "^0.12.3",
|
|
31
|
+
"@enkaku/token": "^0.12.3",
|
|
32
|
+
"@enkaku/log": "^0.12.0",
|
|
33
|
+
"@enkaku/stream": "^0.12.4"
|
|
32
34
|
},
|
|
33
35
|
"devDependencies": {
|
|
34
|
-
"@enkaku/
|
|
35
|
-
"@enkaku/
|
|
36
|
+
"@enkaku/protocol": "^0.12.1",
|
|
37
|
+
"@enkaku/transport": "^0.12.0"
|
|
36
38
|
},
|
|
37
39
|
"scripts": {
|
|
38
40
|
"build:clean": "del lib",
|
|
@@ -40,8 +42,8 @@
|
|
|
40
42
|
"build:types": "tsc --emitDeclarationOnly --skipLibCheck",
|
|
41
43
|
"build:types:ci": "tsc --emitDeclarationOnly --skipLibCheck --declarationMap false",
|
|
42
44
|
"build": "pnpm run build:clean && pnpm run build:js && pnpm run build:types",
|
|
43
|
-
"test:types": "tsc --noEmit",
|
|
44
|
-
"test:unit": "
|
|
45
|
+
"test:types": "tsc --noEmit --skipLibCheck",
|
|
46
|
+
"test:unit": "vitest run",
|
|
45
47
|
"test": "pnpm run test:types && pnpm run test:unit"
|
|
46
48
|
}
|
|
47
49
|
}
|