@enkaku/client 0.1.0 → 0.1.1
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/index.d.ts +4 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +13 -0
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AnyActionDefinitions, ChannelActionDefinition, ClientTransportOf, EventActionDefinition, OptionalRecord, RequestActionDefinition, StreamActionDefinition } from '@enkaku/protocol';
|
|
2
|
+
import { type Disposer } from '@enkaku/util';
|
|
2
3
|
export type InvokeReturn<Result> = {
|
|
3
4
|
abort: (reason?: any) => void;
|
|
4
5
|
result: Promise<Result>;
|
|
@@ -45,9 +46,11 @@ export type ClientParams<Definitions extends AnyActionDefinitions, Meta extends
|
|
|
45
46
|
transport: ClientTransportOf<Definitions, Meta>;
|
|
46
47
|
meta?: Meta;
|
|
47
48
|
};
|
|
48
|
-
export declare class Client<Definitions extends AnyActionDefinitions, Meta extends OptionalRecord, ClientDefinitions extends ClientDefinitionsType<Definitions> = ClientDefinitionsType<Definitions>> {
|
|
49
|
+
export declare class Client<Definitions extends AnyActionDefinitions, Meta extends OptionalRecord, ClientDefinitions extends ClientDefinitionsType<Definitions> = ClientDefinitionsType<Definitions>> implements Disposer {
|
|
49
50
|
#private;
|
|
50
51
|
constructor(params: ClientParams<Definitions, Meta>);
|
|
52
|
+
get disposed(): Promise<void>;
|
|
53
|
+
dispose(): Promise<void>;
|
|
51
54
|
sendEvent<Name extends keyof ClientDefinitions['Events'] & string, T extends ClientDefinitions['Events'][Name] = ClientDefinitions['Events'][Name]>(name: Name, ...args: T['Argument'] extends never ? [] : [T['Argument']]): Promise<void>;
|
|
52
55
|
request<Name extends keyof ClientDefinitions['Requests'] & string, T extends ClientDefinitions['Requests'][Name] = ClientDefinitions['Requests'][Name]>(name: Name, ...args: T['Argument'] extends never ? [] : [T['Argument']]): Promise<T['Return']>;
|
|
53
56
|
}
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -6,6 +6,13 @@ export class Client {
|
|
|
6
6
|
constructor(params){
|
|
7
7
|
this.#meta = params.meta;
|
|
8
8
|
this.#transport = params.transport;
|
|
9
|
+
// Abort all controllers on disconnect
|
|
10
|
+
this.#transport.disposed.then(()=>{
|
|
11
|
+
for (const controller of Object.values(this.#controllers)){
|
|
12
|
+
controller.abort();
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
// Start reading from transport
|
|
9
16
|
this.#read();
|
|
10
17
|
}
|
|
11
18
|
async #read() {
|
|
@@ -41,6 +48,12 @@ export class Client {
|
|
|
41
48
|
meta: this.#meta
|
|
42
49
|
});
|
|
43
50
|
}
|
|
51
|
+
get disposed() {
|
|
52
|
+
return this.#transport.disposed;
|
|
53
|
+
}
|
|
54
|
+
async dispose() {
|
|
55
|
+
await this.#transport.dispose();
|
|
56
|
+
}
|
|
44
57
|
async sendEvent(name, ...args) {
|
|
45
58
|
const action = args.length ? {
|
|
46
59
|
type: 'event',
|