@enkaku/client 0.6.3 → 0.8.0
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 +47 -47
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +16 -16
- package/lib/error.d.ts +8 -3
- package/lib/error.d.ts.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/package.json +7 -7
package/lib/client.d.ts
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnyProcedureDefinition, AnyRequestProcedureDefinition, ChannelProcedureDefinition, ClientTransportOf, DataOf, EventProcedureDefinition, ProtocolDefinition, RequestProcedureDefinition, StreamProcedureDefinition } from '@enkaku/protocol';
|
|
2
2
|
import { type TokenSigner } from '@enkaku/token';
|
|
3
3
|
import type { Disposer } from '@enkaku/util';
|
|
4
4
|
import { Result } from 'typescript-result';
|
|
5
5
|
import { ABORTED } from './constants.js';
|
|
6
6
|
import { RequestError } from './error.js';
|
|
7
|
-
export type
|
|
8
|
-
export type
|
|
9
|
-
export type
|
|
7
|
+
export type CallError = typeof ABORTED | RequestError;
|
|
8
|
+
export type CallResult<T> = Result<T, CallError>;
|
|
9
|
+
export type CallReturn<ResultValue> = {
|
|
10
10
|
abort: (reason?: any) => void;
|
|
11
11
|
id: string;
|
|
12
|
-
result: Promise<Result<ResultValue,
|
|
12
|
+
result: Promise<Result<ResultValue, CallError>>;
|
|
13
13
|
};
|
|
14
|
-
export type
|
|
14
|
+
export type CallStreamReturn<Receive, Result> = CallReturn<Result> & {
|
|
15
15
|
receive: ReadableStream<Receive>;
|
|
16
16
|
};
|
|
17
|
-
export type
|
|
17
|
+
export type CallChannelReturn<Send, Receive, Result> = CallStreamReturn<Receive, Result> & {
|
|
18
18
|
send: (value: Send) => Promise<void>;
|
|
19
19
|
};
|
|
20
|
-
export type
|
|
21
|
-
result: Promise<
|
|
20
|
+
export type ProcedureCall<ResultValue, Return> = Promise<Return> & {
|
|
21
|
+
result: Promise<CallResult<ResultValue>>;
|
|
22
22
|
toValue(): Promise<ResultValue>;
|
|
23
23
|
};
|
|
24
|
-
export type EventDefinitionsType<
|
|
25
|
-
[
|
|
26
|
-
Argument:
|
|
24
|
+
export type EventDefinitionsType<Protocol extends ProtocolDefinition> = {
|
|
25
|
+
[Procedure in keyof Protocol & string]: Protocol[Procedure] extends EventProcedureDefinition ? {
|
|
26
|
+
Argument: DataOf<Protocol[Procedure]['data']>;
|
|
27
27
|
Return: undefined;
|
|
28
28
|
} : never;
|
|
29
29
|
};
|
|
30
|
-
export type RequestDefinitionsType<
|
|
31
|
-
[
|
|
32
|
-
Argument:
|
|
33
|
-
Result:
|
|
34
|
-
Return:
|
|
30
|
+
export type RequestDefinitionsType<Protocol extends ProtocolDefinition> = {
|
|
31
|
+
[Procedure in keyof Protocol & string]: Protocol[Procedure] extends RequestProcedureDefinition ? {
|
|
32
|
+
Argument: DataOf<Protocol[Procedure]['params']>;
|
|
33
|
+
Result: DataOf<Protocol[Procedure]['result']>;
|
|
34
|
+
Return: CallReturn<DataOf<Protocol[Procedure]['result']>>;
|
|
35
35
|
} : never;
|
|
36
36
|
};
|
|
37
|
-
export type StreamDefinitionsType<
|
|
38
|
-
[
|
|
39
|
-
Argument:
|
|
40
|
-
Receive:
|
|
41
|
-
Result:
|
|
42
|
-
Return:
|
|
37
|
+
export type StreamDefinitionsType<Protocol extends ProtocolDefinition> = {
|
|
38
|
+
[Procedure in keyof Protocol & string]: Protocol[Procedure] extends StreamProcedureDefinition ? {
|
|
39
|
+
Argument: Protocol[Procedure]['params'] extends undefined ? never : DataOf<Protocol[Procedure]['params']>;
|
|
40
|
+
Receive: DataOf<Protocol[Procedure]['receive']>;
|
|
41
|
+
Result: DataOf<Protocol[Procedure]['result']>;
|
|
42
|
+
Return: CallStreamReturn<DataOf<Protocol[Procedure]['receive']>, DataOf<Protocol[Procedure]['result']>>;
|
|
43
43
|
} : never;
|
|
44
44
|
};
|
|
45
|
-
export type ChannelDefinitionsType<
|
|
46
|
-
[
|
|
47
|
-
Argument:
|
|
48
|
-
Receive:
|
|
49
|
-
Result:
|
|
50
|
-
Return:
|
|
51
|
-
Send:
|
|
45
|
+
export type ChannelDefinitionsType<Protocol extends ProtocolDefinition> = {
|
|
46
|
+
[Procedure in keyof Protocol & string]: Protocol[Procedure] extends ChannelProcedureDefinition ? {
|
|
47
|
+
Argument: DataOf<Protocol[Procedure]['params']>;
|
|
48
|
+
Receive: DataOf<Protocol[Procedure]['receive']>;
|
|
49
|
+
Result: DataOf<Protocol[Procedure]['result']>;
|
|
50
|
+
Return: CallChannelReturn<DataOf<Protocol[Procedure]['send']>, DataOf<Protocol[Procedure]['receive']>, DataOf<Protocol[Procedure]['result']>>;
|
|
51
|
+
Send: DataOf<Protocol[Procedure]['send']>;
|
|
52
52
|
} : never;
|
|
53
53
|
};
|
|
54
|
-
export type ClientDefinitionsType<
|
|
55
|
-
Channels: ChannelDefinitionsType<
|
|
56
|
-
Events: EventDefinitionsType<
|
|
57
|
-
Requests: RequestDefinitionsType<
|
|
58
|
-
Streams: StreamDefinitionsType<
|
|
54
|
+
export type ClientDefinitionsType<Protocol extends ProtocolDefinition> = {
|
|
55
|
+
Channels: ChannelDefinitionsType<Protocol>;
|
|
56
|
+
Events: EventDefinitionsType<Protocol>;
|
|
57
|
+
Requests: RequestDefinitionsType<Protocol>;
|
|
58
|
+
Streams: StreamDefinitionsType<Protocol>;
|
|
59
59
|
};
|
|
60
|
-
export type
|
|
61
|
-
export type
|
|
60
|
+
export type CallArgumentType<Procedure extends AnyProcedureDefinition> = Procedure extends EventProcedureDefinition ? Procedure['data'] : Procedure extends AnyRequestProcedureDefinition ? Procedure['params'] : never;
|
|
61
|
+
export type CallReturnType<Procedure extends AnyProcedureDefinition> = Procedure extends EventProcedureDefinition ? undefined : Procedure extends RequestProcedureDefinition ? CallReturn<Procedure['result']> : Procedure extends StreamProcedureDefinition ? CallStreamReturn<Procedure['receive'], Procedure['result']> : Procedure extends ChannelProcedureDefinition ? CallChannelReturn<Procedure['send'], Procedure['receive'], Procedure['result']> : never;
|
|
62
62
|
type RequestController<ResultValue> = AbortController & {
|
|
63
|
-
result: Promise<
|
|
63
|
+
result: Promise<CallResult<ResultValue>>;
|
|
64
64
|
ok: (value: ResultValue) => void;
|
|
65
65
|
error: (error: RequestError) => void;
|
|
66
66
|
aborted: () => void;
|
|
67
67
|
};
|
|
68
68
|
export declare function createController<T>(): RequestController<T>;
|
|
69
|
-
export declare function
|
|
70
|
-
export type ClientParams<
|
|
69
|
+
export declare function createCall<ResultValue, Return>(controller: RequestController<ResultValue>, promise: Promise<Return>): ProcedureCall<ResultValue, Return>;
|
|
70
|
+
export type ClientParams<Protocol extends ProtocolDefinition> = {
|
|
71
71
|
getRandomID?: () => string;
|
|
72
|
-
transport: ClientTransportOf<
|
|
72
|
+
transport: ClientTransportOf<Protocol>;
|
|
73
73
|
serverID?: string;
|
|
74
74
|
signer?: TokenSigner | Promise<TokenSigner>;
|
|
75
75
|
};
|
|
76
|
-
export declare class Client<
|
|
76
|
+
export declare class Client<Protocol extends ProtocolDefinition, ClientDefinitions extends ClientDefinitionsType<Protocol> = ClientDefinitionsType<Protocol>> implements Disposer {
|
|
77
77
|
#private;
|
|
78
|
-
constructor(params: ClientParams<
|
|
78
|
+
constructor(params: ClientParams<Protocol>);
|
|
79
79
|
get disposed(): Promise<void>;
|
|
80
80
|
dispose(): Promise<void>;
|
|
81
|
-
sendEvent<
|
|
82
|
-
request<
|
|
83
|
-
createStream<
|
|
84
|
-
createChannel<
|
|
81
|
+
sendEvent<Procedure extends keyof ClientDefinitions['Events'] & string, T extends ClientDefinitions['Events'][Procedure] = ClientDefinitions['Events'][Procedure]>(procedure: Procedure, ...args: T['Argument'] extends never ? [] : [T['Argument']]): Promise<void>;
|
|
82
|
+
request<Procedure extends keyof ClientDefinitions['Requests'] & string, T extends ClientDefinitions['Requests'][Procedure] = ClientDefinitions['Requests'][Procedure]>(procedure: Procedure, ...args: T['Argument'] extends never ? [] : [T['Argument']]): ProcedureCall<T['Result'], T['Return']>;
|
|
83
|
+
createStream<Procedure extends keyof ClientDefinitions['Streams'] & string, T extends ClientDefinitions['Streams'][Procedure] = ClientDefinitions['Streams'][Procedure]>(procedure: Procedure, ...args: T['Argument'] extends never ? [] : [T['Argument']]): ProcedureCall<T['Result'], T['Return']>;
|
|
84
|
+
createChannel<Procedure extends keyof ClientDefinitions['Channels'] & string, T extends ClientDefinitions['Channels'][Procedure] = ClientDefinitions['Channels'][Procedure]>(procedure: Procedure, ...args: T['Argument'] extends never ? [] : [T['Argument']]): ProcedureCall<T['Result'], T['Return']>;
|
|
85
85
|
}
|
|
86
86
|
export {};
|
|
87
87
|
//# sourceMappingURL=client.d.ts.map
|
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,KAAK,EAGV,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/lib/client.js
CHANGED
|
@@ -15,7 +15,7 @@ export function createController() {
|
|
|
15
15
|
aborted: ()=>resolve(Result.error(ABORTED))
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
|
-
export function
|
|
18
|
+
export function createCall(controller, promise) {
|
|
19
19
|
return Object.assign(promise, {
|
|
20
20
|
result: controller.result,
|
|
21
21
|
toValue: ()=>{
|
|
@@ -101,18 +101,18 @@ export class Client {
|
|
|
101
101
|
async dispose() {
|
|
102
102
|
await this.#transport.dispose();
|
|
103
103
|
}
|
|
104
|
-
async sendEvent(
|
|
104
|
+
async sendEvent(procedure, ...args) {
|
|
105
105
|
const payload = args.length ? {
|
|
106
106
|
typ: 'event',
|
|
107
|
-
|
|
107
|
+
prc: procedure,
|
|
108
108
|
data: args[0]
|
|
109
109
|
} : {
|
|
110
110
|
typ: 'event',
|
|
111
|
-
|
|
111
|
+
prc: procedure
|
|
112
112
|
};
|
|
113
113
|
await this.#write(payload);
|
|
114
114
|
}
|
|
115
|
-
request(
|
|
115
|
+
request(procedure, ...args) {
|
|
116
116
|
const rid = this.#getRandomID();
|
|
117
117
|
const controller = createController();
|
|
118
118
|
this.#controllers[rid] = controller;
|
|
@@ -127,12 +127,12 @@ export class Client {
|
|
|
127
127
|
const payload = args.length ? {
|
|
128
128
|
typ: 'request',
|
|
129
129
|
rid,
|
|
130
|
-
|
|
130
|
+
prc: procedure,
|
|
131
131
|
prm: args[0]
|
|
132
132
|
} : {
|
|
133
133
|
typ: 'request',
|
|
134
134
|
rid,
|
|
135
|
-
|
|
135
|
+
prc: procedure
|
|
136
136
|
};
|
|
137
137
|
const promise = this.#write(payload).then(()=>{
|
|
138
138
|
return {
|
|
@@ -141,9 +141,9 @@ export class Client {
|
|
|
141
141
|
result: controller.result
|
|
142
142
|
};
|
|
143
143
|
});
|
|
144
|
-
return
|
|
144
|
+
return createCall(controller, promise);
|
|
145
145
|
}
|
|
146
|
-
createStream(
|
|
146
|
+
createStream(procedure, ...args) {
|
|
147
147
|
const rid = this.#getRandomID();
|
|
148
148
|
const receive = createPipe();
|
|
149
149
|
const controller = Object.assign(createController(), {
|
|
@@ -161,12 +161,12 @@ export class Client {
|
|
|
161
161
|
const action = args.length ? {
|
|
162
162
|
typ: 'stream',
|
|
163
163
|
rid,
|
|
164
|
-
|
|
164
|
+
prc: procedure,
|
|
165
165
|
prm: args[0]
|
|
166
166
|
} : {
|
|
167
167
|
typ: 'stream',
|
|
168
168
|
rid,
|
|
169
|
-
|
|
169
|
+
prc: procedure
|
|
170
170
|
};
|
|
171
171
|
const promise = this.#write(action).then(()=>{
|
|
172
172
|
return {
|
|
@@ -176,9 +176,9 @@ export class Client {
|
|
|
176
176
|
result: controller.result
|
|
177
177
|
};
|
|
178
178
|
});
|
|
179
|
-
return
|
|
179
|
+
return createCall(controller, promise);
|
|
180
180
|
}
|
|
181
|
-
createChannel(
|
|
181
|
+
createChannel(procedure, ...args) {
|
|
182
182
|
const rid = this.#getRandomID();
|
|
183
183
|
const receive = createPipe();
|
|
184
184
|
const send = createPipe();
|
|
@@ -198,12 +198,12 @@ export class Client {
|
|
|
198
198
|
const payload = args.length ? {
|
|
199
199
|
typ: 'channel',
|
|
200
200
|
rid,
|
|
201
|
-
|
|
201
|
+
prc: procedure,
|
|
202
202
|
prm: args[0]
|
|
203
203
|
} : {
|
|
204
204
|
typ: 'channel',
|
|
205
205
|
rid,
|
|
206
|
-
|
|
206
|
+
prc: procedure
|
|
207
207
|
};
|
|
208
208
|
const promise = this.#write(payload).then(()=>{
|
|
209
209
|
return {
|
|
@@ -220,6 +220,6 @@ export class Client {
|
|
|
220
220
|
}
|
|
221
221
|
};
|
|
222
222
|
});
|
|
223
|
-
return
|
|
223
|
+
return createCall(controller, promise);
|
|
224
224
|
}
|
|
225
225
|
}
|
package/lib/error.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type
|
|
3
|
-
|
|
1
|
+
import type { ErrorReplyPayload } from '@enkaku/protocol';
|
|
2
|
+
export type ErrorObjectType<Code extends string = string, Data extends Record<string, unknown> = Record<string, unknown>> = {
|
|
3
|
+
code: Code;
|
|
4
|
+
message: string;
|
|
5
|
+
data?: Data;
|
|
6
|
+
};
|
|
7
|
+
export type RequestErrorParams<Code extends string = string, Data extends Record<string, unknown> = Record<string, unknown>> = ErrorOptions & ErrorObjectType<Code, Data>;
|
|
8
|
+
export declare class RequestError<Code extends string = string, Data extends Record<string, unknown> = Record<string, unknown>> extends Error implements ErrorObjectType<Code, Data> {
|
|
4
9
|
#private;
|
|
5
10
|
static fromPayload<Code extends string = string, Data extends Record<string, unknown> = Record<string, unknown>>(payload: ErrorReplyPayload<Code, Data>): RequestError<Code, Data>;
|
|
6
11
|
constructor(params: RequestErrorParams<Code, Data>);
|
package/lib/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @module client
|
|
11
11
|
*/
|
|
12
|
-
export { Client, type ClientParams, type
|
|
12
|
+
export { Client, type ClientParams, type CallChannelReturn, type CallReturn, type CallStreamReturn, type ProcedureCall, } from './client.js';
|
|
13
13
|
export { ABORTED } from './constants.js';
|
|
14
14
|
//# 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,OAAO,EACL,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enkaku/client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://enkaku.dev",
|
|
6
6
|
"description": "Enkaku RPC client",
|
|
@@ -27,19 +27,19 @@
|
|
|
27
27
|
"sideEffects": false,
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"typescript-result": "^3.0.0",
|
|
30
|
-
"@enkaku/
|
|
31
|
-
"@enkaku/
|
|
30
|
+
"@enkaku/stream": "^0.8.0",
|
|
31
|
+
"@enkaku/token": "^0.8.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@enkaku/protocol": "^0.
|
|
35
|
-
"@enkaku/
|
|
36
|
-
"@enkaku/
|
|
34
|
+
"@enkaku/protocol": "^0.8.0",
|
|
35
|
+
"@enkaku/util": "^0.8.0",
|
|
36
|
+
"@enkaku/transport": "^0.8.0"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build:clean": "del lib",
|
|
40
40
|
"build:js": "swc src -d ./lib --config-file ../../swc.json --strip-leading-paths",
|
|
41
41
|
"build:types": "tsc --emitDeclarationOnly --skipLibCheck",
|
|
42
|
-
"build:types:ci": "tsc --emitDeclarationOnly --declarationMap false",
|
|
42
|
+
"build:types:ci": "tsc --emitDeclarationOnly --skipLibCheck --declarationMap false",
|
|
43
43
|
"build": "pnpm run build:clean && pnpm run build:js && pnpm run build:types",
|
|
44
44
|
"test:types": "tsc --noEmit",
|
|
45
45
|
"test:unit": "node --experimental-vm-modules ../../node_modules/jest/bin/jest.js",
|