Skip to content

Commit 2e2801d

Browse files
committed
force to provide param, even undefined, to enable ts-check
1 parent cac6b2c commit 2e2801d

File tree

3 files changed

+49
-42
lines changed

3 files changed

+49
-42
lines changed

src/client.test.ts

+44-38
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ Deno.test('client', async () => {
1616
result: 'bar',
1717
}).toString()
1818
)
19-
assertEquals(await client.request('foo'), 'bar')
20-
assertEquals(await client.notify('foo'), undefined)
19+
assertEquals(await client.request('foo', undefined), 'bar')
20+
assertEquals(await client.notify('foo', undefined), undefined)
2121
})
2222

2323
Deno.test('client/batch', async () => {
@@ -31,14 +31,14 @@ Deno.test('client/batch', async () => {
3131
)
3232
)
3333

34-
assertEquals(await client.batch(client.createRequest('foo')), [{
34+
assertEquals(await client.batch(client.createRequest('foo', undefined)), [{
3535
status: 'fulfilled',
3636
value: 'bar',
3737
}])
3838

3939
assertEquals(
4040
await client.batch(
41-
client.createRequest('foo'),
41+
client.createRequest('foo', undefined),
4242
),
4343
[{
4444
status: 'fulfilled',
@@ -48,9 +48,9 @@ Deno.test('client/batch', async () => {
4848

4949
assertEquals(
5050
await client.batch(
51-
client.createRequest('foo1'),
52-
client.createRequest('foo2'),
53-
client.createRequest('foo3'),
51+
client.createRequest('foo1', undefined),
52+
client.createRequest('foo2', undefined),
53+
client.createRequest('foo3', undefined),
5454
),
5555
[{
5656
status: 'fulfilled',
@@ -66,16 +66,16 @@ Deno.test('client/batch', async () => {
6666

6767
assertEquals(
6868
await client.batch(
69-
client.createNotification('foo'),
69+
client.createNotification('foo', undefined),
7070
),
7171
[],
7272
)
7373

7474
assertEquals(
7575
await client.batch(
76-
client.createNotification('foo1'),
77-
client.createNotification('foo2'),
78-
client.createNotification('foo3'),
76+
client.createNotification('foo1', undefined),
77+
client.createNotification('foo2', undefined),
78+
client.createNotification('foo3', undefined),
7979
),
8080
[],
8181
)
@@ -92,9 +92,9 @@ Deno.test('client/batch', async () => {
9292

9393
assertInstanceOf(
9494
await client.batch(
95-
client.createRequest('foo1'),
96-
client.createRequest('foo2'),
97-
client.createRequest('foo3'),
95+
client.createRequest('foo1', undefined),
96+
client.createRequest('foo2', undefined),
97+
client.createRequest('foo3', undefined),
9898
).catch((e) => e),
9999
JSONRPCError,
100100
)
@@ -115,9 +115,9 @@ Deno.test('client/batch', async () => {
115115

116116
assertEquals(
117117
await client.batch(
118-
client.createRequest('foo1'),
119-
client.createRequest('foo2'),
120-
client.createRequest('foo3'),
118+
client.createRequest('foo1', undefined),
119+
client.createRequest('foo2', undefined),
120+
client.createRequest('foo3', undefined),
121121
),
122122
[{
123123
status: 'rejected',
@@ -150,22 +150,22 @@ Deno.test('client/JSONRPCClientParseError', async () => {
150150
client = new JSONRPCClient(() => `malformed json`)
151151

152152
assertInstanceOf(
153-
await client.request('foo').catch((
153+
await client.request('foo', undefined).catch((
154154
e,
155155
) => e),
156156
JSONRPCClientParseError,
157157
)
158158

159159
assertInstanceOf(
160-
await client.batch(client.createRequest('foo')).catch((
160+
await client.batch(client.createRequest('foo', undefined)).catch((
161161
e,
162162
) => e),
163163
JSONRPCClientParseError,
164164
)
165165

166166
assertInstanceOf(
167167
await new JSONRPCClient(() => `{"incorrect": "response object"}`)
168-
.request('foo').catch((
168+
.request('foo', undefined).catch((
169169
e,
170170
) => e),
171171
JSONRPCClientParseError,
@@ -178,7 +178,7 @@ Deno.test('client/JSONRPCClientParseError', async () => {
178178
result: 6,
179179
})}`
180180
)
181-
.request('foo').catch((
181+
.request('foo', undefined).catch((
182182
e,
183183
) => e),
184184
JSONRPCClientParseError,
@@ -195,16 +195,16 @@ Deno.test('client/JSONRPCClientParseError', async () => {
195195

196196
assertInstanceOf(
197197
await client.batch(
198-
client.createRequest('foo'),
198+
client.createRequest('foo', undefined),
199199
).catch((e) => e),
200200
JSONRPCClientParseError,
201201
)
202202

203203
assertInstanceOf(
204204
await client.batch(
205-
client.createRequest('foo1'),
206-
client.createRequest('foo2'),
207-
client.createRequest('foo3'),
205+
client.createRequest('foo1', undefined),
206+
client.createRequest('foo2', undefined),
207+
client.createRequest('foo3', undefined),
208208
).catch((e) => e),
209209
JSONRPCClientParseError,
210210
)
@@ -217,9 +217,9 @@ Deno.test('client/JSONRPCClientParseError', async () => {
217217

218218
assertInstanceOf(
219219
await client.batch(
220-
client.createRequest('foo1'),
221-
client.createRequest('foo2'),
222-
client.createRequest('foo3'),
220+
client.createRequest('foo1', undefined),
221+
client.createRequest('foo2', undefined),
222+
client.createRequest('foo3', undefined),
223223
).catch((e) => e),
224224
JSONRPCClientParseError,
225225
)
@@ -239,9 +239,9 @@ Deno.test('client/JSONRPCClientParseError', async () => {
239239

240240
assertEquals(
241241
await client.batch(
242-
client.createRequest('foo1'),
243-
client.createRequest('foo2'),
244-
client.createRequest('foo3'),
242+
client.createRequest('foo1', undefined),
243+
client.createRequest('foo2', undefined),
244+
client.createRequest('foo3', undefined),
245245
).catch((e) => e.message),
246246
'ERR_MSG',
247247
)
@@ -258,9 +258,9 @@ Deno.test('client/JSONRPCClientParseError', async () => {
258258

259259
assertInstanceOf(
260260
await client.batch(
261-
client.createRequest('foo1'),
262-
client.createRequest('foo2'),
263-
client.createRequest('foo3'),
261+
client.createRequest('foo1', undefined),
262+
client.createRequest('foo2', undefined),
263+
client.createRequest('foo3', undefined),
264264
).catch((e) => e),
265265
JSONRPCClientParseError,
266266
)
@@ -288,13 +288,19 @@ Deno.test({
288288
}).then((res) => res.text())
289289
)
290290

291-
assertInstanceOf(await client.request('system.listMethods'), Array)
291+
assertInstanceOf(
292+
await client.request('system.listMethods', undefined),
293+
Array,
294+
)
292295

293-
assertEquals(await client.notify('system.listMethods'), undefined)
296+
assertEquals(
297+
await client.notify('system.listMethods', undefined),
298+
undefined,
299+
)
294300

295301
const [r1, r2] = await client.batch(
296-
client.createRequest('system.listMethods'),
297-
client.createRequest('system.listMethods'),
302+
client.createRequest('system.listMethods', undefined),
303+
client.createRequest('system.listMethods', undefined),
298304
) as JSONRPCFulfilledResult[]
299305

300306
assertObjectMatch(r1, { status: 'fulfilled' })

src/client.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export class JSONRPCClient<
5151

5252
public createRequest<T extends keyof Methods>(
5353
method: T extends string ? T : never,
54-
params?: Parameters<Methods[T]>[0],
54+
params: Parameters<Methods[T]>[0],
5555
): JSONRPCRequest {
5656
const id = getIDFromGenerator(this.idGenerator)
5757
const request = new JSONRPCRequest({
@@ -64,7 +64,7 @@ export class JSONRPCClient<
6464

6565
public createNotification<T extends keyof Methods>(
6666
method: T extends string ? T : never,
67-
params?: Parameters<Methods[T]>[0],
67+
params: Parameters<Methods[T]>[0],
6868
): JSONRPCNotification {
6969
const notification = new JSONRPCNotification({
7070
method,
@@ -78,7 +78,7 @@ export class JSONRPCClient<
7878
*/
7979
public async request<T extends keyof Methods>(
8080
method: T extends string ? T : never,
81-
params?: Parameters<Methods[T]>[0],
81+
params: Parameters<Methods[T]>[0],
8282
): Promise<ReturnType<Methods[T]>> {
8383
const request = this.createRequest(method, params)
8484
// responded json string
@@ -119,7 +119,7 @@ export class JSONRPCClient<
119119
*/
120120
public async notify<T extends keyof Methods>(
121121
method: T extends string ? T : never,
122-
params?: Parameters<Methods[T]>[0],
122+
params: Parameters<Methods[T]>[0],
123123
): Promise<void> {
124124
const notification = this.createNotification(method, params)
125125
await this.requestForResponse(JSON.stringify(notification))

src/index.test.ts

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Deno.test('JSONRPCClient/JSONRPCServer', async () => {
3434
await client.request(
3535
// deno-lint-ignore no-explicit-any
3636
'no_such_method' as any,
37+
undefined,
3738
).catch((e) => e),
3839
{
3940
code: -32601,

0 commit comments

Comments
 (0)