@nmtjs/client 0.15.0-beta.4 → 0.15.0-beta.40

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.
@@ -13,8 +13,8 @@ export declare class RuntimeClient<Transport extends ClientTransportFactory<any,
13
13
  #private;
14
14
  protected readonly transformer: RuntimeContractTransformer;
15
15
  constructor(options: BaseClientOptions<RouterContract, SafeCall>, transport: Transport, transportOptions: Transport extends ClientTransportFactory<any, infer Options> ? Options : never);
16
- get call(): ClientCallers<this["_"]["routes"], SafeCall, false>;
17
- get stream(): ClientCallers<this["_"]["routes"], SafeCall, true>;
16
+ get call(): ClientCallers<this['_']['routes'], SafeCall, false>;
17
+ get stream(): ClientCallers<this['_']['routes'], SafeCall, true>;
18
18
  protected resolveProcedures(router: TAnyRouterContract, path?: string[]): void;
19
19
  protected buildCallers(): ClientCallers<this['_']['routes'], SafeCall, boolean>;
20
20
  }
@@ -1,5 +1,5 @@
1
1
  import { IsProcedureContract, IsRouterContract } from '@nmtjs/contract';
2
- import { BaseClient } from "../core.js";
2
+ import { BaseClient } from '../core.js';
3
3
  export class RuntimeContractTransformer {
4
4
  #procedures = new Map();
5
5
  constructor(router) {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/clients/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/clients/runtime.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { BaseClientTransformer } from '../transformers.ts';
7
7
  export declare class StaticClient<Transport extends ClientTransportFactory<any, any> = ClientTransportFactory<any, any>, RouterContract extends TAnyRouterContract = TAnyRouterContract, SafeCall extends boolean = false> extends BaseClient<Transport, RouterContract, SafeCall, StaticInputContractTypeProvider, StaticOutputContractTypeProvider> {
8
8
  protected readonly transformer: BaseClientTransformer;
9
9
  constructor(options: BaseClientOptions<RouterContract, SafeCall>, transport: Transport, transportOptions: Transport extends ClientTransportFactory<any, infer Options> ? Options : never);
10
- get call(): ClientCallers<this["_"]["routes"], SafeCall, false>;
11
- get stream(): ClientCallers<this["_"]["routes"], SafeCall, true>;
10
+ get call(): ClientCallers<this['_']['routes'], SafeCall, false>;
11
+ get stream(): ClientCallers<this['_']['routes'], SafeCall, true>;
12
12
  protected createProxy<T>(target: Record<string, unknown>, isStream: boolean, path?: string[]): T;
13
13
  }
@@ -1,5 +1,5 @@
1
- import { BaseClient } from "../core.js";
2
- import { BaseClientTransformer } from "../transformers.js";
1
+ import { BaseClient } from '../core.js';
2
+ import { BaseClientTransformer } from '../transformers.js';
3
3
  export class StaticClient extends BaseClient {
4
4
  transformer;
5
5
  constructor(options, transport, transportOptions) {
@@ -1 +1 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/clients/static.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,OAAO,YAOX,SAAQ,UAMT;IACoB,WAAW,CAAuB;IAErD,YACE,OAAoD,EACpD,SAAoB,EACpB,gBAKS;QAET,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAA;IAChD,CAAC;IAED,IAAa,IAAI;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAIjD,CAAA;IACH,CAAC;IAED,IAAa,MAAM;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAIhD,CAAA;IACH,CAAC;IAES,WAAW,CACnB,MAA+B,EAC/B,QAAiB,EACjB,OAAiB,EAAE;QAEnB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YACvB,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACjB,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,GAAG,CAAA;gBAC/B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;gBACvC,MAAM,MAAM,GAAG,CACb,OAAiB,EACjB,OAAoC,EACpC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;gBACpD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC3D,CAAC;SACF,CAAM,CAAA;IACT,CAAC;CACF"}
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/clients/static.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,OAAO,YAOX,SAAQ,UAMT;IACoB,WAAW,CAAuB;IAErD,YACE,OAAoD,EACpD,SAAoB,EACpB,gBAKS,EACT;QACA,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAA;IAAA,CAC/C;IAED,IAAa,IAAI,GAAwD;QACvE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;IAAA,CACpD;IAED,IAAa,MAAM,GAAuD;QACxE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAAA,CACnD;IAES,WAAW,CACnB,MAA+B,EAC/B,QAAiB,EACjB,IAAI,GAAa,EAAE,EACnB;QACA,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YACvB,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;gBAClB,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,GAAG,CAAA;gBAC/B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;gBACvC,MAAM,MAAM,GAAG,CACb,OAAiB,EACjB,OAAoC,EACpC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;gBACpD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;YAAA,CAC1D;SACF,CAAM,CAAA;IAAA,CACR;CACF"}
package/dist/core.d.ts CHANGED
@@ -56,6 +56,8 @@ export declare abstract class BaseClient<TransportFactory extends ClientTranspor
56
56
  protected streamId: number;
57
57
  protected cab: AbortController | null;
58
58
  protected reconnectTimeout: number;
59
+ protected connecting: Promise<void> | null;
60
+ protected state: 'connected' | 'disconnected';
59
61
  constructor(options: BaseClientOptions<RouterContract, SafeCall>, transportFactory: TransportFactory, transportOptions: TransportFactory extends ClientTransportFactory<any, infer U> ? U : never);
60
62
  get auth(): any;
61
63
  set auth(value: any);
package/dist/core.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { anyAbortSignal, createFuture, MAX_UINT32, noopFn } from '@nmtjs/common';
2
2
  import { ClientMessageType, ConnectionType, ErrorCode, ProtocolBlob, ServerMessageType, } from '@nmtjs/protocol';
3
3
  import { ProtocolError, ProtocolServerBlobStream, ProtocolServerRPCStream, ProtocolServerStream, versions, } from '@nmtjs/protocol/client';
4
- import { EventEmitter } from "./events.js";
5
- import { ClientStreams, ServerStreams } from "./streams.js";
4
+ import { EventEmitter } from './events.js';
5
+ import { ClientStreams, ServerStreams } from './streams.js';
6
6
  export { ErrorCode, ProtocolBlob, } from '@nmtjs/protocol';
7
- export * from "./types.js";
7
+ export * from './types.js';
8
8
  export class ClientError extends ProtocolError {
9
9
  }
10
10
  const DEFAULT_RECONNECT_TIMEOUT = 1000;
@@ -29,6 +29,8 @@ export class BaseClient extends EventEmitter {
29
29
  streamId = 0;
30
30
  cab = null;
31
31
  reconnectTimeout = DEFAULT_RECONNECT_TIMEOUT;
32
+ connecting = null;
33
+ state = 'disconnected';
32
34
  #auth;
33
35
  constructor(options, transportFactory, transportOptions) {
34
36
  super();
@@ -41,14 +43,11 @@ export class BaseClient extends EventEmitter {
41
43
  if (this.transport.type === ConnectionType.Bidirectional &&
42
44
  this.options.autoreconnect) {
43
45
  this.on('disconnected', async (reason) => {
44
- if (reason === 'server') {
45
- this.connect();
46
- }
47
- else if (reason === 'error') {
46
+ while (this.state === 'disconnected') {
48
47
  const timeout = new Promise((resolve) => setTimeout(resolve, this.reconnectTimeout));
49
- const connected = new Promise((_, reject) => this.once('connected', reject));
50
48
  this.reconnectTimeout = Math.min(this.reconnectTimeout * 2, DEFAULT_MAX_RECONNECT_TIMEOUT);
51
- await Promise.race([timeout, connected]).then(this.connect.bind(this), noopFn);
49
+ await timeout;
50
+ await this.connect().catch(noopFn);
52
51
  }
53
52
  });
54
53
  this.on('connected', () => {
@@ -56,7 +55,7 @@ export class BaseClient extends EventEmitter {
56
55
  });
57
56
  if (globalThis.window) {
58
57
  globalThis.window.addEventListener('pageshow', () => {
59
- if (!this.cab)
58
+ if (this.state === 'disconnected')
60
59
  this.connect();
61
60
  });
62
61
  }
@@ -68,54 +67,68 @@ export class BaseClient extends EventEmitter {
68
67
  set auth(value) {
69
68
  this.#auth = value;
70
69
  }
71
- async connect() {
72
- if (this.transport.type === ConnectionType.Bidirectional) {
73
- this.cab = new AbortController();
74
- const protocol = this.protocol;
75
- const serverStreams = this.serverStreams;
76
- const transport = {
77
- send: (buffer) => {
78
- this.#send(buffer).catch(noopFn);
79
- },
80
- };
81
- this.messageContext = {
82
- transport,
83
- encoder: this.options.format,
84
- decoder: this.options.format,
85
- addClientStream: (blob) => {
86
- const streamId = this.#getStreamId();
87
- return this.clientStreams.add(blob.source, streamId, blob.metadata);
88
- },
89
- addServerStream(streamId, metadata) {
90
- const stream = new ProtocolServerBlobStream(metadata, {
91
- pull: (controller) => {
92
- transport.send(protocol.encodeMessage(this, ClientMessageType.ServerStreamPull, { streamId, size: 65535 /* 64kb by default */ }));
93
- },
94
- close: () => {
95
- serverStreams.remove(streamId);
96
- },
97
- readableStrategy: { highWaterMark: 0 },
98
- });
99
- serverStreams.add(streamId, stream);
100
- return ({ signal } = {}) => {
101
- if (signal)
102
- signal.addEventListener('abort', () => {
103
- transport.send(protocol.encodeMessage(this, ClientMessageType.ServerStreamAbort, { streamId }));
104
- serverStreams.abort(streamId);
105
- }, { once: true });
106
- return stream;
107
- };
108
- },
109
- streamId: this.#getStreamId.bind(this),
110
- };
111
- return this.transport.connect({
112
- auth: this.auth,
113
- application: this.options.application,
114
- onMessage: this.onMessage.bind(this),
115
- onConnect: this.onConnect.bind(this),
116
- onDisconnect: this.onDisconnect.bind(this),
117
- });
118
- }
70
+ connect() {
71
+ if (this.state === 'connected')
72
+ return Promise.resolve();
73
+ if (this.connecting)
74
+ return this.connecting;
75
+ const _connect = async () => {
76
+ if (this.transport.type === ConnectionType.Bidirectional) {
77
+ this.cab = new AbortController();
78
+ const protocol = this.protocol;
79
+ const serverStreams = this.serverStreams;
80
+ const transport = {
81
+ send: (buffer) => {
82
+ this.#send(buffer).catch(noopFn);
83
+ },
84
+ };
85
+ this.messageContext = {
86
+ transport,
87
+ encoder: this.options.format,
88
+ decoder: this.options.format,
89
+ addClientStream: (blob) => {
90
+ const streamId = this.#getStreamId();
91
+ return this.clientStreams.add(blob.source, streamId, blob.metadata);
92
+ },
93
+ addServerStream(streamId, metadata) {
94
+ const stream = new ProtocolServerBlobStream(metadata, {
95
+ pull: (controller) => {
96
+ transport.send(protocol.encodeMessage(this, ClientMessageType.ServerStreamPull, { streamId, size: 65535 /* 64kb by default */ }));
97
+ },
98
+ close: () => {
99
+ serverStreams.remove(streamId);
100
+ },
101
+ readableStrategy: { highWaterMark: 0 },
102
+ });
103
+ serverStreams.add(streamId, stream);
104
+ return ({ signal } = {}) => {
105
+ if (signal)
106
+ signal.addEventListener('abort', () => {
107
+ transport.send(protocol.encodeMessage(this, ClientMessageType.ServerStreamAbort, { streamId }));
108
+ serverStreams.abort(streamId);
109
+ }, { once: true });
110
+ return stream;
111
+ };
112
+ },
113
+ streamId: this.#getStreamId.bind(this),
114
+ };
115
+ return this.transport.connect({
116
+ auth: this.auth,
117
+ application: this.options.application,
118
+ onMessage: this.onMessage.bind(this),
119
+ onConnect: this.onConnect.bind(this),
120
+ onDisconnect: this.onDisconnect.bind(this),
121
+ });
122
+ }
123
+ };
124
+ this.connecting = _connect()
125
+ .then(() => {
126
+ this.state = 'connected';
127
+ })
128
+ .finally(() => {
129
+ this.connecting = null;
130
+ });
131
+ return this.connecting;
119
132
  }
120
133
  async disconnect() {
121
134
  if (this.transport.type === ConnectionType.Bidirectional) {
@@ -208,9 +221,11 @@ export class BaseClient extends EventEmitter {
208
221
  }
209
222
  }
210
223
  async onConnect() {
224
+ this.state = 'connected';
211
225
  this.emit('connected');
212
226
  }
213
227
  async onDisconnect(reason) {
228
+ this.state = 'disconnected';
214
229
  this.emit('disconnected', reason);
215
230
  this.clientStreams.clear(reason);
216
231
  this.serverStreams.clear(reason);
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/events.d.ts CHANGED
@@ -13,4 +13,4 @@ export declare class EventEmitter<Events extends EventMap = EventMap, EventName
13
13
  off(event: EventName | (Object & string), listener: Callback): void;
14
14
  emit<E extends EventName | (Object & string)>(event: E, ...args: E extends EventName ? Events[E] : any[]): boolean;
15
15
  }
16
- export declare const once: <T extends EventEmitter, EventMap extends T extends EventEmitter<infer E, any> ? E : never, EventName extends T extends EventEmitter<any, infer N> ? N : never>(ee: T, event: EventName, signal?: AbortSignal) => Promise<EventMap[EventName]>;
16
+ export declare const once: <T extends EventEmitter<import("./events.ts").EventMap, string>, EventMap extends T extends EventEmitter<infer E extends import("./events.ts").EventMap, any> ? E : never, EventName extends T extends EventEmitter<any, infer N extends string> ? N : never>(ee: T, event: EventName, signal?: AbortSignal | undefined) => Promise<EventMap[EventName]>;
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAIA,mDAAmD;AACnD;;GAEG;AACH,MAAM,OAAO,YAAY;IAOvB,MAAM,CAAC,IAAI,CAGT,EAAK,EAAE,KAAQ;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IAC3B,UAAU,GAAG,IAAI,GAAG,EAAsB,CAAA;IAE1C,EAAE,CACA,KAA4B,EAC5B,QAAsC,EACtC,OAAiC;QAEjC,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1E,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,CACF,KAA4B,EAC5B,QAAsC,EACtC,OAAiC;QAEjC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,GAAG,CAAC,KAAoC,EAAE,QAAkB;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,CACF,KAAQ,EACR,GAAG,IAA6C;QAEhD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7E,CAAC;CACF;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAKlB,EAAK,EACL,KAAgB,EAChB,MAAoB,EACpB,EAAE;IACF,OAAO,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE;QAClD,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAIA,mDAAmD;AACnD;;GAEG;AACH,MAAM,OAAO,YAAY;IAOvB,MAAM,CAAC,IAAI,CAGT,EAAK,EAAE,KAAQ,EAAE;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAAA,CACzD;IAED,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IAC3B,UAAU,GAAG,IAAI,GAAG,EAAsB,CAAA;IAE1C,EAAE,CACA,KAA4B,EAC5B,QAAsC,EACtC,OAAiC,EACjC;QACA,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1E,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAAA,CAC9D;IAED,IAAI,CACF,KAA4B,EAC5B,QAAsC,EACtC,OAAiC,EACjC;QACA,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAAA,CAC5D;IAED,GAAG,CAAC,KAAoC,EAAE,QAAkB,EAAE;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAAA,CAC9D;IAED,IAAI,CACF,KAAQ,EACR,GAAG,IAA6C,EAChD;QACA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAAA,CAC5E;CACF;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAKlB,EAAK,EACL,KAAgB,EAChB,MAAoB,EACpB,EAAE,CAAC;IACH,OAAO,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAAA,CACpC,CAAC,CAAA;AAAA,CACH,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export * from "./core.js";
2
- export * from "./events.js";
3
- export * from "./transformers.js";
4
- export * from "./transport.js";
5
- export * from "./types.js";
1
+ export * from './core.js';
2
+ export * from './events.js';
3
+ export * from './transformers.js';
4
+ export * from './transport.js';
5
+ export * from './types.js';
6
6
  //# sourceMappingURL=index.js.map
package/dist/streams.d.ts CHANGED
@@ -7,10 +7,10 @@ export declare class ClientStreams {
7
7
  get(streamId: number): ProtocolClientBlobStream;
8
8
  add(source: ReadableStream, streamId: number, metadata: ProtocolBlobMetadata): ProtocolClientBlobStream;
9
9
  remove(streamId: number): void;
10
- abort(streamId: number, reason?: string): Promise<void>;
10
+ abort(streamId: number, reason?: any): Promise<void>;
11
11
  pull(streamId: number, size: number): Promise<Uint8Array<ArrayBufferLike> | null>;
12
12
  end(streamId: number): Promise<void>;
13
- clear(reason?: string): Promise<void>;
13
+ clear(reason?: any): Promise<void>;
14
14
  }
15
15
  export declare class ServerStreams<T extends ProtocolServerStreamInterface = ProtocolServerStreamInterface> {
16
16
  #private;
@@ -22,5 +22,5 @@ export declare class ServerStreams<T extends ProtocolServerStreamInterface = Pro
22
22
  abort(streamId: number): Promise<void>;
23
23
  push(streamId: number, chunk: ArrayBufferView): Promise<void>;
24
24
  end(streamId: number): Promise<void>;
25
- clear(reason?: string): Promise<void>;
25
+ clear(reason?: any): Promise<void>;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAEjE,MAAM,OAAO,aAAa;IACf,WAAW,GAAG,IAAI,GAAG,EAAoC,CAAA;IAElE,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAChD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,GAAG,CACD,MAAsB,EACtB,QAAgB,EAChB,QAA8B;QAE9B,MAAM,MAAM,GAAG,IAAI,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACvE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACtC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,MAAe;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAM,CAAC,4BAA4B;QAChD,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,IAAY;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACjC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,QAAgB;QACxB,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAA;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAe;QACzB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAClE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,CAAA;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IAGf,WAAW,GAAG,IAAI,GAAG,EAAa,CAAA;IAClC,QAAQ,GAAG,IAAI,GAAG,EAAuC,CAAA;IAElE,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAChD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,GAAG,CAAC,QAAgB,EAAE,MAAS;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CACf,QAAQ,EACR,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAiC,CAC3D,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB;QAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;gBACpB,MAAM,CAAC,WAAW,EAAE,CAAA;YACtB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,KAAsB;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,QAAgB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,MAAM,CAAC,WAAW,EAAE,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAe;QACzB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CACzD,CAAA;YACD,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACzC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAqB;IAChC,MAAM,CAAC,UAAkB,EAAE,OAAY;QACrC,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,CAAC,UAAkB,EAAE,OAAY;QACrC,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAqB;IAChC,MAAM,CAAC,UAAkB,EAAE,OAAY,EAAE;QACvC,OAAO,OAAO,CAAA;IAAA,CACf;IACD,MAAM,CAAC,UAAkB,EAAE,OAAY,EAAE;QACvC,OAAO,OAAO,CAAA;IAAA,CACf;CACF"}
package/dist/types.d.ts CHANGED
@@ -41,10 +41,7 @@ export type AnyResolvedContractProcedure = {
41
41
  };
42
42
  export type AnyResolvedContractRouter = {
43
43
  [ResolvedType]: 'router';
44
- [key: string]: AnyResolvedContractProcedure | {
45
- [ResolvedType]: 'router';
46
- [key: string]: AnyResolvedContractProcedure;
47
- };
44
+ [key: string]: AnyResolvedContractProcedure | AnyResolvedContractRouter;
48
45
  };
49
46
  export type ResolveAPIRouterRoutes<T extends TAnyRouterContract, InputTypeProvider extends TypeProvider = TypeProvider, OutputTypeProvider extends TypeProvider = TypeProvider> = {
50
47
  [ResolvedType]: 'router';
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,YAAY,GAAkB,MAAM,CAAC,cAAc,CAAC,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,YAAY,GAAkB,MAAM,CAAC,cAAc,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "name": "@nmtjs/client",
3
+ "description": "Base client infrastructure for Neemata RPC calls.",
3
4
  "type": "module",
4
5
  "exports": {
5
6
  ".": "./dist/index.js",
@@ -7,17 +8,17 @@
7
8
  "./static": "./dist/clients/static.js"
8
9
  },
9
10
  "peerDependencies": {
10
- "@nmtjs/type": "0.15.0-beta.4",
11
- "@nmtjs/common": "0.15.0-beta.4",
12
- "@nmtjs/protocol": "0.15.0-beta.4",
13
- "@nmtjs/contract": "0.15.0-beta.4"
11
+ "@nmtjs/contract": "0.15.0-beta.40",
12
+ "@nmtjs/common": "0.15.0-beta.40",
13
+ "@nmtjs/type": "0.15.0-beta.40",
14
+ "@nmtjs/protocol": "0.15.0-beta.40"
14
15
  },
15
16
  "devDependencies": {
16
- "@nmtjs/_tests": "0.15.0-beta.4",
17
- "@nmtjs/contract": "0.15.0-beta.4",
18
- "@nmtjs/common": "0.15.0-beta.4",
19
- "@nmtjs/protocol": "0.15.0-beta.4",
20
- "@nmtjs/type": "0.15.0-beta.4"
17
+ "@nmtjs/_tests": "0.15.0-beta.40",
18
+ "@nmtjs/type": "0.15.0-beta.40",
19
+ "@nmtjs/contract": "0.15.0-beta.40",
20
+ "@nmtjs/protocol": "0.15.0-beta.40",
21
+ "@nmtjs/common": "0.15.0-beta.40"
21
22
  },
22
23
  "files": [
23
24
  "dist",
@@ -25,11 +26,8 @@
25
26
  "LICENSE.md",
26
27
  "README.md"
27
28
  ],
28
- "version": "0.15.0-beta.4",
29
+ "version": "0.15.0-beta.40",
29
30
  "scripts": {
30
- "clean-build": "rm -rf ./dist",
31
- "build": "tsc --declaration --sourcemap",
32
- "dev": "tsc --watch",
33
- "type-check": "tsc --noEmit"
31
+ "clean-build": "rm -rf ./dist"
34
32
  }
35
33
  }
@@ -81,12 +81,12 @@ export class RuntimeClient<
81
81
  this.#callers = this.buildCallers()
82
82
  }
83
83
 
84
- override get call() {
85
- return this.#callers as ClientCallers<this['_']['routes'], SafeCall, false>
84
+ override get call(): ClientCallers<this['_']['routes'], SafeCall, false> {
85
+ return this.#callers as any
86
86
  }
87
87
 
88
- override get stream() {
89
- return this.#callers as ClientCallers<this['_']['routes'], SafeCall, true>
88
+ override get stream(): ClientCallers<this['_']['routes'], SafeCall, true> {
89
+ return this.#callers as any
90
90
  }
91
91
 
92
92
  protected resolveProcedures(router: TAnyRouterContract, path: string[] = []) {
@@ -41,20 +41,12 @@ export class StaticClient<
41
41
  this.transformer = new BaseClientTransformer()
42
42
  }
43
43
 
44
- override get call() {
45
- return this.createProxy(Object.create(null), false) as ClientCallers<
46
- this['_']['routes'],
47
- SafeCall,
48
- false
49
- >
44
+ override get call(): ClientCallers<this['_']['routes'], SafeCall, false> {
45
+ return this.createProxy(Object.create(null), false)
50
46
  }
51
47
 
52
- override get stream() {
53
- return this.createProxy(Object.create(null), true) as ClientCallers<
54
- this['_']['routes'],
55
- SafeCall,
56
- true
57
- >
48
+ override get stream(): ClientCallers<this['_']['routes'], SafeCall, true> {
49
+ return this.createProxy(Object.create(null), true)
58
50
  }
59
51
 
60
52
  protected createProxy<T>(
package/src/core.ts CHANGED
@@ -112,6 +112,8 @@ export abstract class BaseClient<
112
112
  protected streamId = 0
113
113
  protected cab: AbortController | null = null
114
114
  protected reconnectTimeout = DEFAULT_RECONNECT_TIMEOUT
115
+ protected connecting: Promise<void> | null = null
116
+ protected state: 'connected' | 'disconnected' = 'disconnected'
115
117
 
116
118
  #auth: any
117
119
 
@@ -141,23 +143,16 @@ export abstract class BaseClient<
141
143
  this.options.autoreconnect
142
144
  ) {
143
145
  this.on('disconnected', async (reason) => {
144
- if (reason === 'server') {
145
- this.connect()
146
- } else if (reason === 'error') {
146
+ while (this.state === 'disconnected') {
147
147
  const timeout = new Promise((resolve) =>
148
148
  setTimeout(resolve, this.reconnectTimeout),
149
149
  )
150
- const connected = new Promise((_, reject) =>
151
- this.once('connected', reject),
152
- )
153
150
  this.reconnectTimeout = Math.min(
154
151
  this.reconnectTimeout * 2,
155
152
  DEFAULT_MAX_RECONNECT_TIMEOUT,
156
153
  )
157
- await Promise.race([timeout, connected]).then(
158
- this.connect.bind(this),
159
- noopFn,
160
- )
154
+ await timeout
155
+ await this.connect().catch(noopFn)
161
156
  }
162
157
  })
163
158
 
@@ -167,7 +162,7 @@ export abstract class BaseClient<
167
162
 
168
163
  if (globalThis.window) {
169
164
  globalThis.window.addEventListener('pageshow', () => {
170
- if (!this.cab) this.connect()
165
+ if (this.state === 'disconnected') this.connect()
171
166
  })
172
167
  }
173
168
  }
@@ -181,71 +176,85 @@ export abstract class BaseClient<
181
176
  this.#auth = value
182
177
  }
183
178
 
184
- async connect() {
185
- if (this.transport.type === ConnectionType.Bidirectional) {
186
- this.cab = new AbortController()
187
- const protocol = this.protocol
188
- const serverStreams = this.serverStreams
189
-
190
- const transport = {
191
- send: (buffer) => {
192
- this.#send(buffer).catch(noopFn)
193
- },
194
- }
195
- this.messageContext = {
196
- transport,
197
- encoder: this.options.format,
198
- decoder: this.options.format,
199
- addClientStream: (blob) => {
200
- const streamId = this.#getStreamId()
201
- return this.clientStreams.add(blob.source, streamId, blob.metadata)
202
- },
203
- addServerStream(streamId, metadata) {
204
- const stream = new ProtocolServerBlobStream(metadata, {
205
- pull: (controller) => {
206
- transport.send(
207
- protocol.encodeMessage(
208
- this,
209
- ClientMessageType.ServerStreamPull,
210
- { streamId, size: 65535 /* 64kb by default */ },
211
- ),
212
- )
213
- },
214
- close: () => {
215
- serverStreams.remove(streamId)
216
- },
217
- readableStrategy: { highWaterMark: 0 },
218
- })
219
- serverStreams.add(streamId, stream)
220
- return ({ signal }: { signal?: AbortSignal } = {}) => {
221
- if (signal)
222
- signal.addEventListener(
223
- 'abort',
224
- () => {
225
- transport.send(
226
- protocol.encodeMessage(
227
- this,
228
- ClientMessageType.ServerStreamAbort,
229
- { streamId },
230
- ),
231
- )
232
- serverStreams.abort(streamId)
233
- },
234
- { once: true },
235
- )
236
- return stream
237
- }
238
- },
239
- streamId: this.#getStreamId.bind(this),
179
+ connect() {
180
+ if (this.state === 'connected') return Promise.resolve()
181
+ if (this.connecting) return this.connecting
182
+
183
+ const _connect = async () => {
184
+ if (this.transport.type === ConnectionType.Bidirectional) {
185
+ this.cab = new AbortController()
186
+ const protocol = this.protocol
187
+ const serverStreams = this.serverStreams
188
+ const transport = {
189
+ send: (buffer) => {
190
+ this.#send(buffer).catch(noopFn)
191
+ },
192
+ }
193
+ this.messageContext = {
194
+ transport,
195
+ encoder: this.options.format,
196
+ decoder: this.options.format,
197
+ addClientStream: (blob) => {
198
+ const streamId = this.#getStreamId()
199
+ return this.clientStreams.add(blob.source, streamId, blob.metadata)
200
+ },
201
+ addServerStream(streamId, metadata) {
202
+ const stream = new ProtocolServerBlobStream(metadata, {
203
+ pull: (controller) => {
204
+ transport.send(
205
+ protocol.encodeMessage(
206
+ this,
207
+ ClientMessageType.ServerStreamPull,
208
+ { streamId, size: 65535 /* 64kb by default */ },
209
+ ),
210
+ )
211
+ },
212
+ close: () => {
213
+ serverStreams.remove(streamId)
214
+ },
215
+ readableStrategy: { highWaterMark: 0 },
216
+ })
217
+ serverStreams.add(streamId, stream)
218
+ return ({ signal }: { signal?: AbortSignal } = {}) => {
219
+ if (signal)
220
+ signal.addEventListener(
221
+ 'abort',
222
+ () => {
223
+ transport.send(
224
+ protocol.encodeMessage(
225
+ this,
226
+ ClientMessageType.ServerStreamAbort,
227
+ { streamId },
228
+ ),
229
+ )
230
+ serverStreams.abort(streamId)
231
+ },
232
+ { once: true },
233
+ )
234
+ return stream
235
+ }
236
+ },
237
+ streamId: this.#getStreamId.bind(this),
238
+ }
239
+ return this.transport.connect({
240
+ auth: this.auth,
241
+ application: this.options.application,
242
+ onMessage: this.onMessage.bind(this),
243
+ onConnect: this.onConnect.bind(this),
244
+ onDisconnect: this.onDisconnect.bind(this),
245
+ })
240
246
  }
241
- return this.transport.connect({
242
- auth: this.auth,
243
- application: this.options.application,
244
- onMessage: this.onMessage.bind(this),
245
- onConnect: this.onConnect.bind(this),
246
- onDisconnect: this.onDisconnect.bind(this),
247
- })
248
247
  }
248
+
249
+ this.connecting = _connect()
250
+ .then(() => {
251
+ this.state = 'connected'
252
+ })
253
+ .finally(() => {
254
+ this.connecting = null
255
+ })
256
+
257
+ return this.connecting
249
258
  }
250
259
 
251
260
  async disconnect() {
@@ -377,10 +386,12 @@ export abstract class BaseClient<
377
386
  }
378
387
 
379
388
  protected async onConnect() {
389
+ this.state = 'connected'
380
390
  this.emit('connected')
381
391
  }
382
392
 
383
393
  protected async onDisconnect(reason: 'client' | 'server' | (string & {})) {
394
+ this.state = 'disconnected'
384
395
  this.emit('disconnected', reason)
385
396
  this.clientStreams.clear(reason)
386
397
  this.serverStreams.clear(reason)
package/src/streams.ts CHANGED
@@ -29,7 +29,7 @@ export class ClientStreams {
29
29
  this.#collection.delete(streamId)
30
30
  }
31
31
 
32
- async abort(streamId: number, reason?: string) {
32
+ async abort(streamId: number, reason?: any) {
33
33
  const stream = this.#collection.get(streamId)
34
34
  if (!stream) return // Stream already cleaned up
35
35
  await stream.abort(reason)
@@ -46,7 +46,7 @@ export class ClientStreams {
46
46
  this.remove(streamId)
47
47
  }
48
48
 
49
- async clear(reason?: string) {
49
+ async clear(reason?: any) {
50
50
  if (reason) {
51
51
  const abortPromises = [...this.#collection.values()].map((stream) =>
52
52
  stream.abort(reason),
@@ -118,7 +118,7 @@ export class ServerStreams<
118
118
  this.remove(streamId)
119
119
  }
120
120
 
121
- async clear(reason?: string) {
121
+ async clear(reason?: any) {
122
122
  if (reason) {
123
123
  const abortPromises = [...this.#writers.values()].map((writer) =>
124
124
  writer.abort(reason).finally(() => writer.releaseLock()),
package/src/types.ts CHANGED
@@ -4,7 +4,6 @@ import type { ProtocolBlobInterface } from '@nmtjs/protocol'
4
4
  import type {
5
5
  ProtocolError,
6
6
  ProtocolServerBlobStream,
7
- ProtocolServerStreamInterface,
8
7
  } from '@nmtjs/protocol/client'
9
8
  import type { BaseTypeAny, PlainType, t } from '@nmtjs/type'
10
9
 
@@ -60,9 +59,7 @@ export type AnyResolvedContractProcedure = {
60
59
 
61
60
  export type AnyResolvedContractRouter = {
62
61
  [ResolvedType]: 'router'
63
- [key: string]:
64
- | AnyResolvedContractProcedure
65
- | { [ResolvedType]: 'router'; [key: string]: AnyResolvedContractProcedure }
62
+ [key: string]: AnyResolvedContractProcedure | AnyResolvedContractRouter
66
63
  }
67
64
 
68
65
  export type ResolveAPIRouterRoutes<
@@ -114,19 +111,6 @@ type OmitType<T extends object, E> = {
114
111
  [K in keyof T as T[K] extends E ? never : K]: T[K]
115
112
  }
116
113
 
117
- // export type FilterResolvedContractRouter<
118
- // Resolved extends AnyResolvedContractRouter,
119
- // Stream extends boolean,
120
- // > = {
121
- // [K in keyof Resolved]: Resolved[K] extends AnyResolvedContractProcedure
122
- // ? Resolved[K]['stream'] extends Stream
123
- // ? Resolved[K]
124
- // : never
125
- // : Resolved[K] extends AnyResolvedContractRouter
126
- // ? FilterResolvedContractRouter<Resolved[K], Stream>
127
- // : never
128
- // }
129
-
130
114
  export type ClientCallers<
131
115
  Resolved extends AnyResolvedContractRouter,
132
116
  SafeCall extends boolean,