@enkaku/client 0.12.3 → 0.12.4
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 +14 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +30 -25
- package/package.json +2 -2
package/lib/client.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { type TokenSigner } from '@enkaku/token';
|
|
|
5
5
|
type FilterNever<T> = {
|
|
6
6
|
[K in keyof T as T[K] extends never ? never : K]: T[K];
|
|
7
7
|
};
|
|
8
|
+
export type AnyHeader = Record<string, unknown>;
|
|
8
9
|
export type RequestMeta = {
|
|
9
10
|
type: RequestType;
|
|
10
11
|
procedure: string;
|
|
@@ -75,30 +76,42 @@ export type ClientParams<Protocol extends ProtocolDefinition> = {
|
|
|
75
76
|
export declare class Client<Protocol extends ProtocolDefinition, ClientDefinitions extends ClientDefinitionsType<Protocol> = ClientDefinitionsType<Protocol>> extends Disposer {
|
|
76
77
|
#private;
|
|
77
78
|
constructor(params: ClientParams<Protocol>);
|
|
78
|
-
sendEvent<Procedure extends keyof ClientDefinitions['Events'] & string, T extends ClientDefinitions['Events'][Procedure] = ClientDefinitions['Events'][Procedure]>(procedure: Procedure, ...args: T['Data'] extends never ? [
|
|
79
|
+
sendEvent<Procedure extends keyof ClientDefinitions['Events'] & string, T extends ClientDefinitions['Events'][Procedure] = ClientDefinitions['Events'][Procedure]>(procedure: Procedure, ...args: T['Data'] extends never ? [config?: {
|
|
80
|
+
data?: never;
|
|
81
|
+
header?: AnyHeader;
|
|
82
|
+
}] : [config: {
|
|
83
|
+
data: T['Data'];
|
|
84
|
+
header?: AnyHeader;
|
|
85
|
+
}]): Promise<void>;
|
|
79
86
|
request<Procedure extends keyof ClientDefinitions['Requests'] & string, T extends ClientDefinitions['Requests'][Procedure] = ClientDefinitions['Requests'][Procedure]>(procedure: Procedure, ...args: T['Param'] extends never ? [config?: {
|
|
87
|
+
header?: AnyHeader;
|
|
80
88
|
id?: string;
|
|
81
89
|
param?: never;
|
|
82
90
|
signal?: AbortSignal;
|
|
83
91
|
}] : [config: {
|
|
92
|
+
header?: AnyHeader;
|
|
84
93
|
id?: string;
|
|
85
94
|
param: T['Param'];
|
|
86
95
|
signal?: AbortSignal;
|
|
87
96
|
}]): RequestCall<T['Result']> & Promise<T['Result']>;
|
|
88
97
|
createStream<Procedure extends keyof ClientDefinitions['Streams'] & string, T extends ClientDefinitions['Streams'][Procedure] = ClientDefinitions['Streams'][Procedure]>(procedure: Procedure, ...args: T['Param'] extends never ? [config?: {
|
|
98
|
+
header?: AnyHeader;
|
|
89
99
|
id?: string;
|
|
90
100
|
param?: never;
|
|
91
101
|
signal?: AbortSignal;
|
|
92
102
|
}] : [config: {
|
|
103
|
+
header?: AnyHeader;
|
|
93
104
|
id?: string;
|
|
94
105
|
param: T['Param'];
|
|
95
106
|
signal?: AbortSignal;
|
|
96
107
|
}]): StreamCall<T['Receive'], T['Result']>;
|
|
97
108
|
createChannel<Procedure extends keyof ClientDefinitions['Channels'] & string, T extends ClientDefinitions['Channels'][Procedure] = ClientDefinitions['Channels'][Procedure]>(procedure: Procedure, ...args: T['Param'] extends never ? [config?: {
|
|
109
|
+
header?: AnyHeader;
|
|
98
110
|
id?: string;
|
|
99
111
|
param?: never;
|
|
100
112
|
signal?: AbortSignal;
|
|
101
113
|
}] : [config: {
|
|
114
|
+
header?: AnyHeader;
|
|
102
115
|
id?: string;
|
|
103
116
|
param: T['Param'];
|
|
104
117
|
signal?: AbortSignal;
|
package/lib/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/lib/client.js
CHANGED
|
@@ -3,9 +3,9 @@ import { getEnkakuLogger } from '@enkaku/log';
|
|
|
3
3
|
import { createPipe, writeTo } from '@enkaku/stream';
|
|
4
4
|
import { createUnsignedToken } from '@enkaku/token';
|
|
5
5
|
import { RequestError } from './error.js';
|
|
6
|
-
function createController(
|
|
6
|
+
function createController(params, onDone) {
|
|
7
7
|
const deferred = defer();
|
|
8
|
-
return Object.assign(new AbortController(),
|
|
8
|
+
return Object.assign(new AbortController(), params, {
|
|
9
9
|
result: deferred.promise,
|
|
10
10
|
ok: (value)=>{
|
|
11
11
|
deferred.resolve(value);
|
|
@@ -45,13 +45,13 @@ function getCreateMessage(signer, aud) {
|
|
|
45
45
|
return createUnsignedToken;
|
|
46
46
|
}
|
|
47
47
|
const signerPromise = Promise.resolve(signer);
|
|
48
|
-
const createToken = (payload)=>{
|
|
49
|
-
return signerPromise.then((s)=>s.createToken(payload));
|
|
48
|
+
const createToken = (payload, header)=>{
|
|
49
|
+
return signerPromise.then((s)=>s.createToken(payload, header));
|
|
50
50
|
};
|
|
51
|
-
return aud ? (payload)=>createToken({
|
|
51
|
+
return aud ? (payload, header)=>createToken({
|
|
52
52
|
aud,
|
|
53
53
|
...payload
|
|
54
|
-
}) : createToken;
|
|
54
|
+
}, header) : createToken;
|
|
55
55
|
}
|
|
56
56
|
function defaultRandomID() {
|
|
57
57
|
return globalThis.crypto.randomUUID();
|
|
@@ -189,13 +189,13 @@ export class Client extends Disposer {
|
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
|
-
async #write(payload) {
|
|
192
|
+
async #write(payload, header) {
|
|
193
193
|
if (this.signal.aborted) {
|
|
194
194
|
throw new Error('Client aborted', {
|
|
195
195
|
cause: this.signal.reason
|
|
196
196
|
});
|
|
197
197
|
}
|
|
198
|
-
const message = await this.#createMessage(payload);
|
|
198
|
+
const message = await this.#createMessage(payload, header);
|
|
199
199
|
await this.#transport.write(message);
|
|
200
200
|
}
|
|
201
201
|
#handleSignal(rid, controller, providedSignal) {
|
|
@@ -215,7 +215,7 @@ export class Client extends Disposer {
|
|
|
215
215
|
typ: 'abort',
|
|
216
216
|
rid,
|
|
217
217
|
rsn: reason
|
|
218
|
-
});
|
|
218
|
+
}, controller.header);
|
|
219
219
|
if (signal.reason !== 'Close') {
|
|
220
220
|
controller.aborted(signal);
|
|
221
221
|
delete this.#controllers[rid];
|
|
@@ -226,28 +226,31 @@ export class Client extends Disposer {
|
|
|
226
226
|
return signal;
|
|
227
227
|
}
|
|
228
228
|
async sendEvent(procedure, ...args) {
|
|
229
|
-
const
|
|
229
|
+
const config = args[0] ?? {};
|
|
230
|
+
const data = config.data;
|
|
231
|
+
const payload = data ? {
|
|
230
232
|
typ: 'event',
|
|
231
233
|
prc: procedure,
|
|
232
|
-
data
|
|
234
|
+
data
|
|
233
235
|
} : {
|
|
234
236
|
typ: 'event',
|
|
235
237
|
prc: procedure
|
|
236
238
|
};
|
|
237
239
|
this.#logger.trace('send event {procedure}', {
|
|
238
240
|
procedure,
|
|
239
|
-
data
|
|
241
|
+
data
|
|
240
242
|
});
|
|
241
|
-
await this.#write(payload);
|
|
243
|
+
await this.#write(payload, config.header);
|
|
242
244
|
}
|
|
243
245
|
request(procedure, ...args) {
|
|
244
246
|
const config = args[0] ?? {};
|
|
245
247
|
const controller = createController({
|
|
246
248
|
type: 'request',
|
|
247
|
-
procedure
|
|
249
|
+
procedure,
|
|
250
|
+
header: config.header
|
|
248
251
|
});
|
|
249
252
|
const rid = config.id ?? this.#getRandomID();
|
|
250
|
-
const providedSignal = config
|
|
253
|
+
const providedSignal = config.signal;
|
|
251
254
|
if (providedSignal?.aborted) {
|
|
252
255
|
this.#logger.debug('reject aborted request {procedure} with ID { rid }', {
|
|
253
256
|
procedure,
|
|
@@ -277,7 +280,7 @@ export class Client extends Disposer {
|
|
|
277
280
|
rid,
|
|
278
281
|
param: prm
|
|
279
282
|
});
|
|
280
|
-
const sent = this.#write(payload);
|
|
283
|
+
const sent = this.#write(payload, config.header);
|
|
281
284
|
const signal = this.#handleSignal(rid, controller, providedSignal);
|
|
282
285
|
return createRequest({
|
|
283
286
|
id: rid,
|
|
@@ -292,12 +295,13 @@ export class Client extends Disposer {
|
|
|
292
295
|
const writer = receive.writable.getWriter();
|
|
293
296
|
const controller = Object.assign(createController({
|
|
294
297
|
type: 'stream',
|
|
295
|
-
procedure
|
|
298
|
+
procedure,
|
|
299
|
+
header: config.header
|
|
296
300
|
}, ()=>writer.close()), {
|
|
297
301
|
receive: writer
|
|
298
302
|
});
|
|
299
303
|
const rid = config.id ?? this.#getRandomID();
|
|
300
|
-
const providedSignal = config
|
|
304
|
+
const providedSignal = config.signal;
|
|
301
305
|
if (providedSignal?.aborted) {
|
|
302
306
|
this.#logger.debug('reject aborted stream creation {procedure} with ID {rid}', {
|
|
303
307
|
procedure,
|
|
@@ -312,7 +316,7 @@ export class Client extends Disposer {
|
|
|
312
316
|
});
|
|
313
317
|
}
|
|
314
318
|
this.#controllers[rid] = controller;
|
|
315
|
-
const prm = config
|
|
319
|
+
const prm = config.param;
|
|
316
320
|
const payload = prm ? {
|
|
317
321
|
typ: 'stream',
|
|
318
322
|
rid,
|
|
@@ -328,7 +332,7 @@ export class Client extends Disposer {
|
|
|
328
332
|
rid,
|
|
329
333
|
param: prm
|
|
330
334
|
});
|
|
331
|
-
const sent = this.#write(payload);
|
|
335
|
+
const sent = this.#write(payload, config.header);
|
|
332
336
|
const signal = this.#handleSignal(rid, controller, providedSignal);
|
|
333
337
|
return createStream({
|
|
334
338
|
id: rid,
|
|
@@ -344,12 +348,13 @@ export class Client extends Disposer {
|
|
|
344
348
|
const writer = receive.writable.getWriter();
|
|
345
349
|
const controller = Object.assign(createController({
|
|
346
350
|
type: 'channel',
|
|
347
|
-
procedure
|
|
351
|
+
procedure,
|
|
352
|
+
header: config.header
|
|
348
353
|
}, ()=>writer.close()), {
|
|
349
354
|
receive: writer
|
|
350
355
|
});
|
|
351
356
|
const rid = config.id ?? this.#getRandomID();
|
|
352
|
-
const providedSignal = config
|
|
357
|
+
const providedSignal = config.signal;
|
|
353
358
|
if (providedSignal?.aborted) {
|
|
354
359
|
this.#logger.debug('reject aborted channel creation {procedure} with ID {rid}', {
|
|
355
360
|
procedure,
|
|
@@ -369,7 +374,7 @@ export class Client extends Disposer {
|
|
|
369
374
|
});
|
|
370
375
|
}
|
|
371
376
|
this.#controllers[rid] = controller;
|
|
372
|
-
const prm = config
|
|
377
|
+
const prm = config.param;
|
|
373
378
|
const payload = prm ? {
|
|
374
379
|
typ: 'channel',
|
|
375
380
|
rid,
|
|
@@ -385,7 +390,7 @@ export class Client extends Disposer {
|
|
|
385
390
|
rid,
|
|
386
391
|
param: prm
|
|
387
392
|
});
|
|
388
|
-
const sent = this.#write(payload);
|
|
393
|
+
const sent = this.#write(payload, config.header);
|
|
389
394
|
const signal = this.#handleSignal(rid, controller, providedSignal);
|
|
390
395
|
const send = async (val)=>{
|
|
391
396
|
this.#logger.trace('send value to channel {procedure} with ID {rid}', {
|
|
@@ -397,7 +402,7 @@ export class Client extends Disposer {
|
|
|
397
402
|
typ: 'send',
|
|
398
403
|
rid,
|
|
399
404
|
val
|
|
400
|
-
});
|
|
405
|
+
}, config.header);
|
|
401
406
|
};
|
|
402
407
|
return Object.assign(createStream({
|
|
403
408
|
id: rid,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enkaku/client",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://enkaku.dev",
|
|
6
6
|
"description": "Enkaku RPC client",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
],
|
|
27
27
|
"sideEffects": false,
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@enkaku/execution": "^0.12.3",
|
|
30
29
|
"@enkaku/async": "^0.12.2",
|
|
30
|
+
"@enkaku/execution": "^0.12.3",
|
|
31
31
|
"@enkaku/stream": "^0.12.4",
|
|
32
32
|
"@enkaku/log": "^0.12.1",
|
|
33
33
|
"@enkaku/token": "^0.12.3"
|