@enkaku/client 0.12.2 → 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 CHANGED
@@ -1,17 +1,23 @@
1
1
  import { Disposer } from '@enkaku/async';
2
2
  import { type Logger } from '@enkaku/log';
3
- import type { AnyProcedureDefinition, AnyRequestProcedureDefinition, ChannelProcedureDefinition, ClientTransportOf, DataOf, EventProcedureDefinition, ProtocolDefinition, RequestProcedureDefinition, ReturnOf, StreamProcedureDefinition } from '@enkaku/protocol';
3
+ import type { AnyProcedureDefinition, AnyRequestProcedureDefinition, ChannelProcedureDefinition, ClientTransportOf, DataOf, EventProcedureDefinition, ProtocolDefinition, RequestProcedureDefinition, RequestType, ReturnOf, StreamProcedureDefinition } from '@enkaku/protocol';
4
4
  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 RequestCall<Result> = Promise<Result> & {
8
+ export type AnyHeader = Record<string, unknown>;
9
+ export type RequestMeta = {
10
+ type: RequestType;
11
+ procedure: string;
12
+ };
13
+ export type RequestCall<Result> = Promise<Result> & RequestMeta & {
9
14
  id: string;
10
15
  abort: (reason?: string) => void;
11
16
  signal: AbortSignal;
12
17
  };
13
18
  export type StreamCall<Receive, Result> = RequestCall<Result> & {
14
19
  close: () => void;
20
+ procedure: string;
15
21
  readable: ReadableStream<Receive>;
16
22
  };
17
23
  export type ChannelCall<Receive, Send, Result> = StreamCall<Receive, Result> & {
@@ -70,30 +76,42 @@ export type ClientParams<Protocol extends ProtocolDefinition> = {
70
76
  export declare class Client<Protocol extends ProtocolDefinition, ClientDefinitions extends ClientDefinitionsType<Protocol> = ClientDefinitionsType<Protocol>> extends Disposer {
71
77
  #private;
72
78
  constructor(params: ClientParams<Protocol>);
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>;
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>;
74
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;
75
88
  id?: string;
76
89
  param?: never;
77
90
  signal?: AbortSignal;
78
91
  }] : [config: {
92
+ header?: AnyHeader;
79
93
  id?: string;
80
94
  param: T['Param'];
81
95
  signal?: AbortSignal;
82
96
  }]): RequestCall<T['Result']> & Promise<T['Result']>;
83
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;
84
99
  id?: string;
85
100
  param?: never;
86
101
  signal?: AbortSignal;
87
102
  }] : [config: {
103
+ header?: AnyHeader;
88
104
  id?: string;
89
105
  param: T['Param'];
90
106
  signal?: AbortSignal;
91
107
  }]): StreamCall<T['Receive'], T['Result']>;
92
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;
93
110
  id?: string;
94
111
  param?: never;
95
112
  signal?: AbortSignal;
96
113
  }] : [config: {
114
+ header?: AnyHeader;
97
115
  id?: string;
98
116
  param: T['Param'];
99
117
  signal?: AbortSignal;
@@ -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(onDone) {
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);
@@ -21,20 +21,20 @@ function createController(onDone) {
21
21
  }
22
22
  });
23
23
  }
24
- function createRequest(id, controller, signal, sent) {
24
+ function createRequest({ controller, sent, ...call }) {
25
25
  const abort = (reason)=>{
26
26
  void sent.then(()=>{
27
27
  controller.abort(reason);
28
28
  });
29
29
  };
30
- return Object.assign(sent.then(()=>controller.result), {
31
- abort,
32
- id,
33
- signal
30
+ return Object.assign(sent.then(()=>controller.result), call, {
31
+ type: controller.type,
32
+ procedure: controller.procedure,
33
+ abort
34
34
  });
35
35
  }
36
- function createStream(id, controller, signal, sent, readable) {
37
- const request = createRequest(id, controller, signal, sent);
36
+ function createStream({ readable, ...requestParams }) {
37
+ const request = createRequest(requestParams);
38
38
  return Object.assign(request, {
39
39
  close: ()=>request.abort('Close'),
40
40
  readable
@@ -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();
@@ -71,6 +71,7 @@ export class Client extends Disposer {
71
71
  dispose: async (reason)=>{
72
72
  this.#abortControllers(reason);
73
73
  await this.#transport.dispose(reason);
74
+ this.#logger.debug('disposed');
74
75
  }
75
76
  });
76
77
  this.#createMessage = getCreateMessage(params.signer, params.serverID);
@@ -99,9 +100,11 @@ export class Client extends Disposer {
99
100
  }
100
101
  const newTransport = this.#handleTransportDisposed?.(this.#transport.signal);
101
102
  if (newTransport == null) {
103
+ this.#logger.debug('transport disposed');
102
104
  // Abort client if no new transport is provided
103
105
  this.abort('TransportDisposed');
104
106
  } else {
107
+ this.#logger.debug('using new transport provided by transport disposed handler');
105
108
  // Abort running procedures and start using new transport
106
109
  this.#abortControllers('TransportDisposed');
107
110
  this.#transport = newTransport;
@@ -123,14 +126,19 @@ export class Client extends Disposer {
123
126
  if (this.signal.aborted) {
124
127
  return;
125
128
  }
129
+ this.#logger.debug('failed to read from transport', {
130
+ cause
131
+ });
126
132
  const error = new Error('Transport read failed', {
127
133
  cause
128
134
  });
129
135
  const newTransport = this.#handleTransportError?.(error);
130
136
  if (newTransport == null) {
137
+ this.#logger.warn('aborting following unhanded transport error');
131
138
  // Abort client if no new transport is provided
132
139
  this.abort(error);
133
140
  } else {
141
+ this.#logger.debug('using new transport provided by transport error handler');
134
142
  // Abort running procedures and start using new transport
135
143
  this.#abortControllers(error);
136
144
  this.#transport = newTransport;
@@ -147,28 +155,47 @@ export class Client extends Disposer {
147
155
  }
148
156
  switch(msg.payload.typ){
149
157
  case 'error':
150
- this.#logger.debug('received error reply for request {rid}');
151
- controller.error(RequestError.fromPayload(msg.payload));
152
- delete this.#controllers[msg.payload.rid];
153
- break;
158
+ {
159
+ const error = RequestError.fromPayload(msg.payload);
160
+ this.#logger.debug('error reply for {type} {procedure} with ID {rid}', {
161
+ type: controller.type,
162
+ procedure: controller.procedure,
163
+ rid: msg.payload.rid,
164
+ error
165
+ });
166
+ controller.error(error);
167
+ delete this.#controllers[msg.payload.rid];
168
+ break;
169
+ }
154
170
  case 'receive':
171
+ this.#logger.trace('receive reply for {type} {procedure} with ID {rid}', {
172
+ type: controller.type,
173
+ procedure: controller.procedure,
174
+ rid: msg.payload.rid,
175
+ receive: msg.payload.val
176
+ });
155
177
  void controller.receive?.write(msg.payload.val);
156
178
  break;
157
179
  case 'result':
158
- this.#logger.trace('received result reply for request {rid}');
180
+ this.#logger.trace('result reply for {type} {procedure} with ID {rid}', {
181
+ type: controller.type,
182
+ procedure: controller.procedure,
183
+ rid: msg.payload.rid,
184
+ result: msg.payload.val
185
+ });
159
186
  controller.ok(msg.payload.val);
160
187
  delete this.#controllers[msg.payload.rid];
161
188
  break;
162
189
  }
163
190
  }
164
191
  }
165
- async #write(payload) {
192
+ async #write(payload, header) {
166
193
  if (this.signal.aborted) {
167
194
  throw new Error('Client aborted', {
168
195
  cause: this.signal.reason
169
196
  });
170
197
  }
171
- const message = await this.#createMessage(payload);
198
+ const message = await this.#createMessage(payload, header);
172
199
  await this.#transport.write(message);
173
200
  }
174
201
  #handleSignal(rid, controller, providedSignal) {
@@ -178,11 +205,17 @@ export class Client extends Disposer {
178
205
  ]) : controller.signal;
179
206
  signal.addEventListener('abort', ()=>{
180
207
  const reason = signal.reason.name ?? signal.reason;
208
+ this.#logger.trace('abort {type} {procedure} with ID {rid}', {
209
+ type: controller.type,
210
+ procedure: controller.procedure,
211
+ rid,
212
+ reason
213
+ });
181
214
  void this.#write({
182
215
  typ: 'abort',
183
216
  rid,
184
217
  rsn: reason
185
- });
218
+ }, controller.header);
186
219
  if (signal.reason !== 'Close') {
187
220
  controller.aborted(signal);
188
221
  delete this.#controllers[rid];
@@ -193,30 +226,42 @@ export class Client extends Disposer {
193
226
  return signal;
194
227
  }
195
228
  async sendEvent(procedure, ...args) {
196
- const payload = args.length ? {
229
+ const config = args[0] ?? {};
230
+ const data = config.data;
231
+ const payload = data ? {
197
232
  typ: 'event',
198
233
  prc: procedure,
199
- data: args[0]
234
+ data
200
235
  } : {
201
236
  typ: 'event',
202
237
  prc: procedure
203
238
  };
204
239
  this.#logger.trace('send event {procedure}', {
205
- procedure
240
+ procedure,
241
+ data
206
242
  });
207
- await this.#write(payload);
243
+ await this.#write(payload, config.header);
208
244
  }
209
245
  request(procedure, ...args) {
210
246
  const config = args[0] ?? {};
211
- const controller = createController();
247
+ const controller = createController({
248
+ type: 'request',
249
+ procedure,
250
+ header: config.header
251
+ });
212
252
  const rid = config.id ?? this.#getRandomID();
213
- const providedSignal = config?.signal;
253
+ const providedSignal = config.signal;
214
254
  if (providedSignal?.aborted) {
215
255
  this.#logger.debug('reject aborted request {procedure} with ID { rid }', {
216
256
  procedure,
217
257
  rid
218
258
  });
219
- return createRequest(rid, controller, providedSignal, Promise.reject(providedSignal));
259
+ return createRequest({
260
+ id: rid,
261
+ controller,
262
+ signal: providedSignal,
263
+ sent: Promise.reject(providedSignal)
264
+ });
220
265
  }
221
266
  this.#controllers[rid] = controller;
222
267
  const prm = config.param;
@@ -232,30 +277,46 @@ export class Client extends Disposer {
232
277
  };
233
278
  this.#logger.trace('send request {procedure} with ID {rid}', {
234
279
  procedure,
235
- rid
280
+ rid,
281
+ param: prm
236
282
  });
237
- const sent = this.#write(payload);
283
+ const sent = this.#write(payload, config.header);
238
284
  const signal = this.#handleSignal(rid, controller, providedSignal);
239
- return createRequest(rid, controller, signal, sent);
285
+ return createRequest({
286
+ id: rid,
287
+ controller,
288
+ signal,
289
+ sent
290
+ });
240
291
  }
241
292
  createStream(procedure, ...args) {
242
293
  const config = args[0] ?? {};
243
294
  const receive = createPipe();
244
295
  const writer = receive.writable.getWriter();
245
- const controller = Object.assign(createController(()=>writer.close()), {
296
+ const controller = Object.assign(createController({
297
+ type: 'stream',
298
+ procedure,
299
+ header: config.header
300
+ }, ()=>writer.close()), {
246
301
  receive: writer
247
302
  });
248
303
  const rid = config.id ?? this.#getRandomID();
249
- const providedSignal = config?.signal;
304
+ const providedSignal = config.signal;
250
305
  if (providedSignal?.aborted) {
251
306
  this.#logger.debug('reject aborted stream creation {procedure} with ID {rid}', {
252
307
  procedure,
253
308
  rid
254
309
  });
255
- return createStream(rid, controller, providedSignal, Promise.reject(providedSignal), receive.readable);
310
+ return createStream({
311
+ id: rid,
312
+ controller,
313
+ signal: providedSignal,
314
+ sent: Promise.reject(providedSignal),
315
+ readable: receive.readable
316
+ });
256
317
  }
257
318
  this.#controllers[rid] = controller;
258
- const prm = config?.param;
319
+ const prm = config.param;
259
320
  const payload = prm ? {
260
321
  typ: 'stream',
261
322
  rid,
@@ -268,21 +329,32 @@ export class Client extends Disposer {
268
329
  };
269
330
  this.#logger.trace('create stream {procedure} with ID {rid}', {
270
331
  procedure,
271
- rid
332
+ rid,
333
+ param: prm
272
334
  });
273
- const sent = this.#write(payload);
335
+ const sent = this.#write(payload, config.header);
274
336
  const signal = this.#handleSignal(rid, controller, providedSignal);
275
- return createStream(rid, controller, signal, sent, receive.readable);
337
+ return createStream({
338
+ id: rid,
339
+ controller,
340
+ signal,
341
+ sent,
342
+ readable: receive.readable
343
+ });
276
344
  }
277
345
  createChannel(procedure, ...args) {
278
346
  const config = args[0] ?? {};
279
347
  const receive = createPipe();
280
348
  const writer = receive.writable.getWriter();
281
- const controller = Object.assign(createController(()=>writer.close()), {
349
+ const controller = Object.assign(createController({
350
+ type: 'channel',
351
+ procedure,
352
+ header: config.header
353
+ }, ()=>writer.close()), {
282
354
  receive: writer
283
355
  });
284
356
  const rid = config.id ?? this.#getRandomID();
285
- const providedSignal = config?.signal;
357
+ const providedSignal = config.signal;
286
358
  if (providedSignal?.aborted) {
287
359
  this.#logger.debug('reject aborted channel creation {procedure} with ID {rid}', {
288
360
  procedure,
@@ -290,13 +362,19 @@ export class Client extends Disposer {
290
362
  });
291
363
  // no-op
292
364
  const send = async (_val)=>{};
293
- return Object.assign(createStream(rid, controller, providedSignal, Promise.reject(providedSignal), receive.readable), {
365
+ return Object.assign(createStream({
366
+ id: rid,
367
+ controller,
368
+ signal: providedSignal,
369
+ sent: Promise.reject(providedSignal),
370
+ readable: receive.readable
371
+ }), {
294
372
  send,
295
373
  writable: writeTo(send)
296
374
  });
297
375
  }
298
376
  this.#controllers[rid] = controller;
299
- const prm = config?.param;
377
+ const prm = config.param;
300
378
  const payload = prm ? {
301
379
  typ: 'channel',
302
380
  rid,
@@ -309,18 +387,30 @@ export class Client extends Disposer {
309
387
  };
310
388
  this.#logger.trace('create channel {procedure} with ID {rid}', {
311
389
  procedure,
312
- rid
390
+ rid,
391
+ param: prm
313
392
  });
314
- const sent = this.#write(payload);
393
+ const sent = this.#write(payload, config.header);
315
394
  const signal = this.#handleSignal(rid, controller, providedSignal);
316
395
  const send = async (val)=>{
396
+ this.#logger.trace('send value to channel {procedure} with ID {rid}', {
397
+ procedure,
398
+ rid,
399
+ value: val
400
+ });
317
401
  await this.#write({
318
402
  typ: 'send',
319
403
  rid,
320
404
  val
321
- });
405
+ }, config.header);
322
406
  };
323
- return Object.assign(createStream(rid, controller, signal, sent, receive.readable), {
407
+ return Object.assign(createStream({
408
+ id: rid,
409
+ controller,
410
+ signal,
411
+ sent,
412
+ readable: receive.readable
413
+ }), {
324
414
  send,
325
415
  writable: writeTo(send)
326
416
  });
package/lib/error.d.ts CHANGED
@@ -11,5 +11,7 @@ export declare class RequestError<Code extends string = string, Data extends Rec
11
11
  constructor(params: RequestErrorParams<Code, Data>);
12
12
  get code(): Code;
13
13
  get data(): Data;
14
+ toString(): string;
15
+ toJSON(): ErrorObjectType<Code, Data>;
14
16
  }
15
17
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,MAAM,eAAe,CACzB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC5D;IACF,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,CAC5B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC5D,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9C,qBAAa,YAAY,CACrB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhE,SAAQ,KACR,YAAW,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;;IAEtC,MAAM,CAAC,WAAW,CAChB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;gBAWvD,MAAM,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;IAOlD,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,IAAI,IAAI,IAAI,CAEf;CACF"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,MAAM,eAAe,CACzB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC5D;IACF,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,CAC5B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC5D,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9C,qBAAa,YAAY,CACrB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhE,SAAQ,KACR,YAAW,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;;IAEtC,MAAM,CAAC,WAAW,CAChB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;gBAWvD,MAAM,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;IAOlD,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,QAAQ;IAIR,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;CAGtC"}
package/lib/error.js CHANGED
@@ -20,4 +20,14 @@ export class RequestError extends Error {
20
20
  get data() {
21
21
  return this.#data;
22
22
  }
23
+ toString() {
24
+ return `[RequestError] code ${this.#code}: ${this.message}`;
25
+ }
26
+ toJSON() {
27
+ return {
28
+ code: this.#code,
29
+ data: this.#data,
30
+ message: this.message
31
+ };
32
+ }
23
33
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enkaku/client",
3
- "version": "0.12.2",
3
+ "version": "0.12.4",
4
4
  "license": "MIT",
5
5
  "homepage": "https://enkaku.dev",
6
6
  "description": "Enkaku RPC client",
@@ -28,9 +28,9 @@
28
28
  "dependencies": {
29
29
  "@enkaku/async": "^0.12.2",
30
30
  "@enkaku/execution": "^0.12.3",
31
- "@enkaku/token": "^0.12.3",
32
- "@enkaku/log": "^0.12.0",
33
- "@enkaku/stream": "^0.12.4"
31
+ "@enkaku/stream": "^0.12.4",
32
+ "@enkaku/log": "^0.12.1",
33
+ "@enkaku/token": "^0.12.3"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@enkaku/protocol": "^0.12.1",