@solana/rpc-spec-types 6.3.1 → 6.3.2-canary-20260313112147
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/package.json +3 -2
- package/src/index.ts +14 -0
- package/src/overloads.ts +1143 -0
- package/src/parse-json-with-bigints.ts +81 -0
- package/src/rpc-message.ts +22 -0
- package/src/rpc-request.ts +18 -0
- package/src/rpc-response.ts +32 -0
- package/src/stringify-json-with-bigints.ts +22 -0
- package/src/type-helpers.ts +6 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana/rpc-spec-types",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.2-canary-20260313112147",
|
|
4
4
|
"description": "Shared generic JSON RPC specifications",
|
|
5
5
|
"homepage": "https://www.solanakit.com/api#solanarpc-spec-types",
|
|
6
6
|
"exports": {
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"types": "./dist/types/index.d.ts",
|
|
34
34
|
"type": "commonjs",
|
|
35
35
|
"files": [
|
|
36
|
-
"./dist/"
|
|
36
|
+
"./dist/",
|
|
37
|
+
"./src/"
|
|
37
38
|
],
|
|
38
39
|
"sideEffects": false,
|
|
39
40
|
"keywords": [
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This package contains core types that can be used on both RPC and RPC Subscriptions
|
|
3
|
+
* specifications. It can be used standalone, but it is also exported as part of Kit
|
|
4
|
+
* [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
export * from './overloads';
|
|
9
|
+
export * from './parse-json-with-bigints';
|
|
10
|
+
export * from './rpc-message';
|
|
11
|
+
export * from './rpc-request';
|
|
12
|
+
export * from './rpc-response';
|
|
13
|
+
export * from './stringify-json-with-bigints';
|
|
14
|
+
export * from './type-helpers';
|
package/src/overloads.ts
ADDED
|
@@ -0,0 +1,1143 @@
|
|
|
1
|
+
export type OverloadImplementations<T, U extends keyof T> = Overloads<T[U]>;
|
|
2
|
+
export type Overloads<T> = Overloads31<T>;
|
|
3
|
+
type Overloads31<T> =
|
|
4
|
+
// Have an RPC method with more than 31 overloads? Add another section and update this comment
|
|
5
|
+
T extends {
|
|
6
|
+
(...args: infer A1): infer R1;
|
|
7
|
+
(...args: infer A2): infer R2;
|
|
8
|
+
(...args: infer A3): infer R3;
|
|
9
|
+
(...args: infer A4): infer R4;
|
|
10
|
+
(...args: infer A5): infer R5;
|
|
11
|
+
(...args: infer A6): infer R6;
|
|
12
|
+
(...args: infer A7): infer R7;
|
|
13
|
+
(...args: infer A8): infer R8;
|
|
14
|
+
(...args: infer A9): infer R9;
|
|
15
|
+
(...args: infer A10): infer R10;
|
|
16
|
+
(...args: infer A11): infer R11;
|
|
17
|
+
(...args: infer A12): infer R12;
|
|
18
|
+
(...args: infer A13): infer R13;
|
|
19
|
+
(...args: infer A14): infer R14;
|
|
20
|
+
(...args: infer A15): infer R15;
|
|
21
|
+
(...args: infer A16): infer R16;
|
|
22
|
+
(...args: infer A17): infer R17;
|
|
23
|
+
(...args: infer A18): infer R18;
|
|
24
|
+
(...args: infer A19): infer R19;
|
|
25
|
+
(...args: infer A20): infer R20;
|
|
26
|
+
(...args: infer A21): infer R21;
|
|
27
|
+
(...args: infer A22): infer R22;
|
|
28
|
+
(...args: infer A23): infer R23;
|
|
29
|
+
(...args: infer A24): infer R24;
|
|
30
|
+
(...args: infer A25): infer R25;
|
|
31
|
+
(...args: infer A26): infer R26;
|
|
32
|
+
(...args: infer A27): infer R27;
|
|
33
|
+
(...args: infer A28): infer R28;
|
|
34
|
+
(...args: infer A29): infer R29;
|
|
35
|
+
(...args: infer A30): infer R30;
|
|
36
|
+
(...args: infer A31): infer R31;
|
|
37
|
+
}
|
|
38
|
+
? [
|
|
39
|
+
(...args: A1) => R1,
|
|
40
|
+
(...args: A2) => R2,
|
|
41
|
+
(...args: A3) => R3,
|
|
42
|
+
(...args: A4) => R4,
|
|
43
|
+
(...args: A5) => R5,
|
|
44
|
+
(...args: A6) => R6,
|
|
45
|
+
(...args: A7) => R7,
|
|
46
|
+
(...args: A8) => R8,
|
|
47
|
+
(...args: A9) => R9,
|
|
48
|
+
(...args: A10) => R10,
|
|
49
|
+
(...args: A11) => R11,
|
|
50
|
+
(...args: A12) => R12,
|
|
51
|
+
(...args: A13) => R13,
|
|
52
|
+
(...args: A14) => R14,
|
|
53
|
+
(...args: A15) => R15,
|
|
54
|
+
(...args: A16) => R16,
|
|
55
|
+
(...args: A17) => R17,
|
|
56
|
+
(...args: A18) => R18,
|
|
57
|
+
(...args: A19) => R19,
|
|
58
|
+
(...args: A20) => R20,
|
|
59
|
+
(...args: A21) => R21,
|
|
60
|
+
(...args: A22) => R22,
|
|
61
|
+
(...args: A23) => R23,
|
|
62
|
+
(...args: A24) => R24,
|
|
63
|
+
(...args: A25) => R25,
|
|
64
|
+
(...args: A26) => R26,
|
|
65
|
+
(...args: A27) => R27,
|
|
66
|
+
(...args: A28) => R28,
|
|
67
|
+
(...args: A29) => R29,
|
|
68
|
+
(...args: A30) => R30,
|
|
69
|
+
(...args: A31) => R31,
|
|
70
|
+
]
|
|
71
|
+
: Overloads30<T>;
|
|
72
|
+
type Overloads30<T> = T extends {
|
|
73
|
+
(...args: infer A1): infer R1;
|
|
74
|
+
(...args: infer A2): infer R2;
|
|
75
|
+
(...args: infer A3): infer R3;
|
|
76
|
+
(...args: infer A4): infer R4;
|
|
77
|
+
(...args: infer A5): infer R5;
|
|
78
|
+
(...args: infer A6): infer R6;
|
|
79
|
+
(...args: infer A7): infer R7;
|
|
80
|
+
(...args: infer A8): infer R8;
|
|
81
|
+
(...args: infer A9): infer R9;
|
|
82
|
+
(...args: infer A10): infer R10;
|
|
83
|
+
(...args: infer A11): infer R11;
|
|
84
|
+
(...args: infer A12): infer R12;
|
|
85
|
+
(...args: infer A13): infer R13;
|
|
86
|
+
(...args: infer A14): infer R14;
|
|
87
|
+
(...args: infer A15): infer R15;
|
|
88
|
+
(...args: infer A16): infer R16;
|
|
89
|
+
(...args: infer A17): infer R17;
|
|
90
|
+
(...args: infer A18): infer R18;
|
|
91
|
+
(...args: infer A19): infer R19;
|
|
92
|
+
(...args: infer A20): infer R20;
|
|
93
|
+
(...args: infer A21): infer R21;
|
|
94
|
+
(...args: infer A22): infer R22;
|
|
95
|
+
(...args: infer A23): infer R23;
|
|
96
|
+
(...args: infer A24): infer R24;
|
|
97
|
+
(...args: infer A25): infer R25;
|
|
98
|
+
(...args: infer A26): infer R26;
|
|
99
|
+
(...args: infer A27): infer R27;
|
|
100
|
+
(...args: infer A28): infer R28;
|
|
101
|
+
(...args: infer A29): infer R29;
|
|
102
|
+
(...args: infer A30): infer R30;
|
|
103
|
+
}
|
|
104
|
+
? [
|
|
105
|
+
(...args: A1) => R1,
|
|
106
|
+
(...args: A2) => R2,
|
|
107
|
+
(...args: A3) => R3,
|
|
108
|
+
(...args: A4) => R4,
|
|
109
|
+
(...args: A5) => R5,
|
|
110
|
+
(...args: A6) => R6,
|
|
111
|
+
(...args: A7) => R7,
|
|
112
|
+
(...args: A8) => R8,
|
|
113
|
+
(...args: A9) => R9,
|
|
114
|
+
(...args: A10) => R10,
|
|
115
|
+
(...args: A11) => R11,
|
|
116
|
+
(...args: A12) => R12,
|
|
117
|
+
(...args: A13) => R13,
|
|
118
|
+
(...args: A14) => R14,
|
|
119
|
+
(...args: A15) => R15,
|
|
120
|
+
(...args: A16) => R16,
|
|
121
|
+
(...args: A17) => R17,
|
|
122
|
+
(...args: A18) => R18,
|
|
123
|
+
(...args: A19) => R19,
|
|
124
|
+
(...args: A20) => R20,
|
|
125
|
+
(...args: A21) => R21,
|
|
126
|
+
(...args: A22) => R22,
|
|
127
|
+
(...args: A23) => R23,
|
|
128
|
+
(...args: A24) => R24,
|
|
129
|
+
(...args: A25) => R25,
|
|
130
|
+
(...args: A26) => R26,
|
|
131
|
+
(...args: A27) => R27,
|
|
132
|
+
(...args: A28) => R28,
|
|
133
|
+
(...args: A29) => R29,
|
|
134
|
+
(...args: A30) => R30,
|
|
135
|
+
]
|
|
136
|
+
: Overloads29<T>;
|
|
137
|
+
type Overloads29<T> =
|
|
138
|
+
// Have an RPC method with more than 32 overloads? Add another section and update this comment
|
|
139
|
+
T extends {
|
|
140
|
+
(...args: infer A1): infer R1;
|
|
141
|
+
(...args: infer A2): infer R2;
|
|
142
|
+
(...args: infer A3): infer R3;
|
|
143
|
+
(...args: infer A4): infer R4;
|
|
144
|
+
(...args: infer A5): infer R5;
|
|
145
|
+
(...args: infer A6): infer R6;
|
|
146
|
+
(...args: infer A7): infer R7;
|
|
147
|
+
(...args: infer A8): infer R8;
|
|
148
|
+
(...args: infer A9): infer R9;
|
|
149
|
+
(...args: infer A10): infer R10;
|
|
150
|
+
(...args: infer A11): infer R11;
|
|
151
|
+
(...args: infer A12): infer R12;
|
|
152
|
+
(...args: infer A13): infer R13;
|
|
153
|
+
(...args: infer A14): infer R14;
|
|
154
|
+
(...args: infer A15): infer R15;
|
|
155
|
+
(...args: infer A16): infer R16;
|
|
156
|
+
(...args: infer A17): infer R17;
|
|
157
|
+
(...args: infer A18): infer R18;
|
|
158
|
+
(...args: infer A19): infer R19;
|
|
159
|
+
(...args: infer A20): infer R20;
|
|
160
|
+
(...args: infer A21): infer R21;
|
|
161
|
+
(...args: infer A22): infer R22;
|
|
162
|
+
(...args: infer A23): infer R23;
|
|
163
|
+
(...args: infer A24): infer R24;
|
|
164
|
+
(...args: infer A25): infer R25;
|
|
165
|
+
(...args: infer A26): infer R26;
|
|
166
|
+
(...args: infer A27): infer R27;
|
|
167
|
+
(...args: infer A28): infer R28;
|
|
168
|
+
(...args: infer A29): infer R29;
|
|
169
|
+
}
|
|
170
|
+
? [
|
|
171
|
+
(...args: A1) => R1,
|
|
172
|
+
(...args: A2) => R2,
|
|
173
|
+
(...args: A3) => R3,
|
|
174
|
+
(...args: A4) => R4,
|
|
175
|
+
(...args: A5) => R5,
|
|
176
|
+
(...args: A6) => R6,
|
|
177
|
+
(...args: A7) => R7,
|
|
178
|
+
(...args: A8) => R8,
|
|
179
|
+
(...args: A9) => R9,
|
|
180
|
+
(...args: A10) => R10,
|
|
181
|
+
(...args: A11) => R11,
|
|
182
|
+
(...args: A12) => R12,
|
|
183
|
+
(...args: A13) => R13,
|
|
184
|
+
(...args: A14) => R14,
|
|
185
|
+
(...args: A15) => R15,
|
|
186
|
+
(...args: A16) => R16,
|
|
187
|
+
(...args: A17) => R17,
|
|
188
|
+
(...args: A18) => R18,
|
|
189
|
+
(...args: A19) => R19,
|
|
190
|
+
(...args: A20) => R20,
|
|
191
|
+
(...args: A21) => R21,
|
|
192
|
+
(...args: A22) => R22,
|
|
193
|
+
(...args: A23) => R23,
|
|
194
|
+
(...args: A24) => R24,
|
|
195
|
+
(...args: A25) => R25,
|
|
196
|
+
(...args: A26) => R26,
|
|
197
|
+
(...args: A27) => R27,
|
|
198
|
+
(...args: A28) => R28,
|
|
199
|
+
(...args: A29) => R29,
|
|
200
|
+
]
|
|
201
|
+
: Overloads28<T>;
|
|
202
|
+
type Overloads28<T> =
|
|
203
|
+
// Have an RPC method with more than 32 overloads? Add another section and update this comment
|
|
204
|
+
T extends {
|
|
205
|
+
(...args: infer A1): infer R1;
|
|
206
|
+
(...args: infer A2): infer R2;
|
|
207
|
+
(...args: infer A3): infer R3;
|
|
208
|
+
(...args: infer A4): infer R4;
|
|
209
|
+
(...args: infer A5): infer R5;
|
|
210
|
+
(...args: infer A6): infer R6;
|
|
211
|
+
(...args: infer A7): infer R7;
|
|
212
|
+
(...args: infer A8): infer R8;
|
|
213
|
+
(...args: infer A9): infer R9;
|
|
214
|
+
(...args: infer A10): infer R10;
|
|
215
|
+
(...args: infer A11): infer R11;
|
|
216
|
+
(...args: infer A12): infer R12;
|
|
217
|
+
(...args: infer A13): infer R13;
|
|
218
|
+
(...args: infer A14): infer R14;
|
|
219
|
+
(...args: infer A15): infer R15;
|
|
220
|
+
(...args: infer A16): infer R16;
|
|
221
|
+
(...args: infer A17): infer R17;
|
|
222
|
+
(...args: infer A18): infer R18;
|
|
223
|
+
(...args: infer A19): infer R19;
|
|
224
|
+
(...args: infer A20): infer R20;
|
|
225
|
+
(...args: infer A21): infer R21;
|
|
226
|
+
(...args: infer A22): infer R22;
|
|
227
|
+
(...args: infer A23): infer R23;
|
|
228
|
+
(...args: infer A24): infer R24;
|
|
229
|
+
(...args: infer A25): infer R25;
|
|
230
|
+
(...args: infer A26): infer R26;
|
|
231
|
+
(...args: infer A27): infer R27;
|
|
232
|
+
(...args: infer A28): infer R28;
|
|
233
|
+
}
|
|
234
|
+
? [
|
|
235
|
+
(...args: A1) => R1,
|
|
236
|
+
(...args: A2) => R2,
|
|
237
|
+
(...args: A3) => R3,
|
|
238
|
+
(...args: A4) => R4,
|
|
239
|
+
(...args: A5) => R5,
|
|
240
|
+
(...args: A6) => R6,
|
|
241
|
+
(...args: A7) => R7,
|
|
242
|
+
(...args: A8) => R8,
|
|
243
|
+
(...args: A9) => R9,
|
|
244
|
+
(...args: A10) => R10,
|
|
245
|
+
(...args: A11) => R11,
|
|
246
|
+
(...args: A12) => R12,
|
|
247
|
+
(...args: A13) => R13,
|
|
248
|
+
(...args: A14) => R14,
|
|
249
|
+
(...args: A15) => R15,
|
|
250
|
+
(...args: A16) => R16,
|
|
251
|
+
(...args: A17) => R17,
|
|
252
|
+
(...args: A18) => R18,
|
|
253
|
+
(...args: A19) => R19,
|
|
254
|
+
(...args: A20) => R20,
|
|
255
|
+
(...args: A21) => R21,
|
|
256
|
+
(...args: A22) => R22,
|
|
257
|
+
(...args: A23) => R23,
|
|
258
|
+
(...args: A24) => R24,
|
|
259
|
+
(...args: A25) => R25,
|
|
260
|
+
(...args: A26) => R26,
|
|
261
|
+
(...args: A27) => R27,
|
|
262
|
+
(...args: A28) => R28,
|
|
263
|
+
]
|
|
264
|
+
: Overloads27<T>;
|
|
265
|
+
type Overloads27<T> =
|
|
266
|
+
// Have an RPC method with more than 32 overloads? Add another section and update this comment
|
|
267
|
+
T extends {
|
|
268
|
+
(...args: infer A1): infer R1;
|
|
269
|
+
(...args: infer A2): infer R2;
|
|
270
|
+
(...args: infer A3): infer R3;
|
|
271
|
+
(...args: infer A4): infer R4;
|
|
272
|
+
(...args: infer A5): infer R5;
|
|
273
|
+
(...args: infer A6): infer R6;
|
|
274
|
+
(...args: infer A7): infer R7;
|
|
275
|
+
(...args: infer A8): infer R8;
|
|
276
|
+
(...args: infer A9): infer R9;
|
|
277
|
+
(...args: infer A10): infer R10;
|
|
278
|
+
(...args: infer A11): infer R11;
|
|
279
|
+
(...args: infer A12): infer R12;
|
|
280
|
+
(...args: infer A13): infer R13;
|
|
281
|
+
(...args: infer A14): infer R14;
|
|
282
|
+
(...args: infer A15): infer R15;
|
|
283
|
+
(...args: infer A16): infer R16;
|
|
284
|
+
(...args: infer A17): infer R17;
|
|
285
|
+
(...args: infer A18): infer R18;
|
|
286
|
+
(...args: infer A19): infer R19;
|
|
287
|
+
(...args: infer A20): infer R20;
|
|
288
|
+
(...args: infer A21): infer R21;
|
|
289
|
+
(...args: infer A22): infer R22;
|
|
290
|
+
(...args: infer A23): infer R23;
|
|
291
|
+
(...args: infer A24): infer R24;
|
|
292
|
+
(...args: infer A25): infer R25;
|
|
293
|
+
(...args: infer A26): infer R26;
|
|
294
|
+
(...args: infer A27): infer R27;
|
|
295
|
+
}
|
|
296
|
+
? [
|
|
297
|
+
(...args: A1) => R1,
|
|
298
|
+
(...args: A2) => R2,
|
|
299
|
+
(...args: A3) => R3,
|
|
300
|
+
(...args: A4) => R4,
|
|
301
|
+
(...args: A5) => R5,
|
|
302
|
+
(...args: A6) => R6,
|
|
303
|
+
(...args: A7) => R7,
|
|
304
|
+
(...args: A8) => R8,
|
|
305
|
+
(...args: A9) => R9,
|
|
306
|
+
(...args: A10) => R10,
|
|
307
|
+
(...args: A11) => R11,
|
|
308
|
+
(...args: A12) => R12,
|
|
309
|
+
(...args: A13) => R13,
|
|
310
|
+
(...args: A14) => R14,
|
|
311
|
+
(...args: A15) => R15,
|
|
312
|
+
(...args: A16) => R16,
|
|
313
|
+
(...args: A17) => R17,
|
|
314
|
+
(...args: A18) => R18,
|
|
315
|
+
(...args: A19) => R19,
|
|
316
|
+
(...args: A20) => R20,
|
|
317
|
+
(...args: A21) => R21,
|
|
318
|
+
(...args: A22) => R22,
|
|
319
|
+
(...args: A23) => R23,
|
|
320
|
+
(...args: A24) => R24,
|
|
321
|
+
(...args: A25) => R25,
|
|
322
|
+
(...args: A26) => R26,
|
|
323
|
+
(...args: A27) => R27,
|
|
324
|
+
]
|
|
325
|
+
: Overloads26<T>;
|
|
326
|
+
type Overloads26<T> =
|
|
327
|
+
// Have an RPC method with more than 32 overloads? Add another section and update this comment
|
|
328
|
+
T extends {
|
|
329
|
+
(...args: infer A1): infer R1;
|
|
330
|
+
(...args: infer A2): infer R2;
|
|
331
|
+
(...args: infer A3): infer R3;
|
|
332
|
+
(...args: infer A4): infer R4;
|
|
333
|
+
(...args: infer A5): infer R5;
|
|
334
|
+
(...args: infer A6): infer R6;
|
|
335
|
+
(...args: infer A7): infer R7;
|
|
336
|
+
(...args: infer A8): infer R8;
|
|
337
|
+
(...args: infer A9): infer R9;
|
|
338
|
+
(...args: infer A10): infer R10;
|
|
339
|
+
(...args: infer A11): infer R11;
|
|
340
|
+
(...args: infer A12): infer R12;
|
|
341
|
+
(...args: infer A13): infer R13;
|
|
342
|
+
(...args: infer A14): infer R14;
|
|
343
|
+
(...args: infer A15): infer R15;
|
|
344
|
+
(...args: infer A16): infer R16;
|
|
345
|
+
(...args: infer A17): infer R17;
|
|
346
|
+
(...args: infer A18): infer R18;
|
|
347
|
+
(...args: infer A19): infer R19;
|
|
348
|
+
(...args: infer A20): infer R20;
|
|
349
|
+
(...args: infer A21): infer R21;
|
|
350
|
+
(...args: infer A22): infer R22;
|
|
351
|
+
(...args: infer A23): infer R23;
|
|
352
|
+
(...args: infer A24): infer R24;
|
|
353
|
+
(...args: infer A25): infer R25;
|
|
354
|
+
(...args: infer A26): infer R26;
|
|
355
|
+
}
|
|
356
|
+
? [
|
|
357
|
+
(...args: A1) => R1,
|
|
358
|
+
(...args: A2) => R2,
|
|
359
|
+
(...args: A3) => R3,
|
|
360
|
+
(...args: A4) => R4,
|
|
361
|
+
(...args: A5) => R5,
|
|
362
|
+
(...args: A6) => R6,
|
|
363
|
+
(...args: A7) => R7,
|
|
364
|
+
(...args: A8) => R8,
|
|
365
|
+
(...args: A9) => R9,
|
|
366
|
+
(...args: A10) => R10,
|
|
367
|
+
(...args: A11) => R11,
|
|
368
|
+
(...args: A12) => R12,
|
|
369
|
+
(...args: A13) => R13,
|
|
370
|
+
(...args: A14) => R14,
|
|
371
|
+
(...args: A15) => R15,
|
|
372
|
+
(...args: A16) => R16,
|
|
373
|
+
(...args: A17) => R17,
|
|
374
|
+
(...args: A18) => R18,
|
|
375
|
+
(...args: A19) => R19,
|
|
376
|
+
(...args: A20) => R20,
|
|
377
|
+
(...args: A21) => R21,
|
|
378
|
+
(...args: A22) => R22,
|
|
379
|
+
(...args: A23) => R23,
|
|
380
|
+
(...args: A24) => R24,
|
|
381
|
+
(...args: A25) => R25,
|
|
382
|
+
(...args: A26) => R26,
|
|
383
|
+
]
|
|
384
|
+
: Overloads25<T>;
|
|
385
|
+
type Overloads25<T> =
|
|
386
|
+
// Have an RPC method with more than 32 overloads? Add another section and update this comment
|
|
387
|
+
T extends {
|
|
388
|
+
(...args: infer A1): infer R1;
|
|
389
|
+
(...args: infer A2): infer R2;
|
|
390
|
+
(...args: infer A3): infer R3;
|
|
391
|
+
(...args: infer A4): infer R4;
|
|
392
|
+
(...args: infer A5): infer R5;
|
|
393
|
+
(...args: infer A6): infer R6;
|
|
394
|
+
(...args: infer A7): infer R7;
|
|
395
|
+
(...args: infer A8): infer R8;
|
|
396
|
+
(...args: infer A9): infer R9;
|
|
397
|
+
(...args: infer A10): infer R10;
|
|
398
|
+
(...args: infer A11): infer R11;
|
|
399
|
+
(...args: infer A12): infer R12;
|
|
400
|
+
(...args: infer A13): infer R13;
|
|
401
|
+
(...args: infer A14): infer R14;
|
|
402
|
+
(...args: infer A15): infer R15;
|
|
403
|
+
(...args: infer A16): infer R16;
|
|
404
|
+
(...args: infer A17): infer R17;
|
|
405
|
+
(...args: infer A18): infer R18;
|
|
406
|
+
(...args: infer A19): infer R19;
|
|
407
|
+
(...args: infer A20): infer R20;
|
|
408
|
+
(...args: infer A21): infer R21;
|
|
409
|
+
(...args: infer A22): infer R22;
|
|
410
|
+
(...args: infer A23): infer R23;
|
|
411
|
+
(...args: infer A24): infer R24;
|
|
412
|
+
(...args: infer A25): infer R25;
|
|
413
|
+
}
|
|
414
|
+
? [
|
|
415
|
+
(...args: A1) => R1,
|
|
416
|
+
(...args: A2) => R2,
|
|
417
|
+
(...args: A3) => R3,
|
|
418
|
+
(...args: A4) => R4,
|
|
419
|
+
(...args: A5) => R5,
|
|
420
|
+
(...args: A6) => R6,
|
|
421
|
+
(...args: A7) => R7,
|
|
422
|
+
(...args: A8) => R8,
|
|
423
|
+
(...args: A9) => R9,
|
|
424
|
+
(...args: A10) => R10,
|
|
425
|
+
(...args: A11) => R11,
|
|
426
|
+
(...args: A12) => R12,
|
|
427
|
+
(...args: A13) => R13,
|
|
428
|
+
(...args: A14) => R14,
|
|
429
|
+
(...args: A15) => R15,
|
|
430
|
+
(...args: A16) => R16,
|
|
431
|
+
(...args: A17) => R17,
|
|
432
|
+
(...args: A18) => R18,
|
|
433
|
+
(...args: A19) => R19,
|
|
434
|
+
(...args: A20) => R20,
|
|
435
|
+
(...args: A21) => R21,
|
|
436
|
+
(...args: A22) => R22,
|
|
437
|
+
(...args: A23) => R23,
|
|
438
|
+
(...args: A24) => R24,
|
|
439
|
+
(...args: A25) => R25,
|
|
440
|
+
]
|
|
441
|
+
: Overloads24<T>;
|
|
442
|
+
type Overloads24<T> =
|
|
443
|
+
// Have an RPC method with more than 32 overloads? Add another section and update this comment
|
|
444
|
+
T extends {
|
|
445
|
+
(...args: infer A1): infer R1;
|
|
446
|
+
(...args: infer A2): infer R2;
|
|
447
|
+
(...args: infer A3): infer R3;
|
|
448
|
+
(...args: infer A4): infer R4;
|
|
449
|
+
(...args: infer A5): infer R5;
|
|
450
|
+
(...args: infer A6): infer R6;
|
|
451
|
+
(...args: infer A7): infer R7;
|
|
452
|
+
(...args: infer A8): infer R8;
|
|
453
|
+
(...args: infer A9): infer R9;
|
|
454
|
+
(...args: infer A10): infer R10;
|
|
455
|
+
(...args: infer A11): infer R11;
|
|
456
|
+
(...args: infer A12): infer R12;
|
|
457
|
+
(...args: infer A13): infer R13;
|
|
458
|
+
(...args: infer A14): infer R14;
|
|
459
|
+
(...args: infer A15): infer R15;
|
|
460
|
+
(...args: infer A16): infer R16;
|
|
461
|
+
(...args: infer A17): infer R17;
|
|
462
|
+
(...args: infer A18): infer R18;
|
|
463
|
+
(...args: infer A19): infer R19;
|
|
464
|
+
(...args: infer A20): infer R20;
|
|
465
|
+
(...args: infer A21): infer R21;
|
|
466
|
+
(...args: infer A22): infer R22;
|
|
467
|
+
(...args: infer A23): infer R23;
|
|
468
|
+
(...args: infer A24): infer R24;
|
|
469
|
+
}
|
|
470
|
+
? [
|
|
471
|
+
(...args: A1) => R1,
|
|
472
|
+
(...args: A2) => R2,
|
|
473
|
+
(...args: A3) => R3,
|
|
474
|
+
(...args: A4) => R4,
|
|
475
|
+
(...args: A5) => R5,
|
|
476
|
+
(...args: A6) => R6,
|
|
477
|
+
(...args: A7) => R7,
|
|
478
|
+
(...args: A8) => R8,
|
|
479
|
+
(...args: A9) => R9,
|
|
480
|
+
(...args: A10) => R10,
|
|
481
|
+
(...args: A11) => R11,
|
|
482
|
+
(...args: A12) => R12,
|
|
483
|
+
(...args: A13) => R13,
|
|
484
|
+
(...args: A14) => R14,
|
|
485
|
+
(...args: A15) => R15,
|
|
486
|
+
(...args: A16) => R16,
|
|
487
|
+
(...args: A17) => R17,
|
|
488
|
+
(...args: A18) => R18,
|
|
489
|
+
(...args: A19) => R19,
|
|
490
|
+
(...args: A20) => R20,
|
|
491
|
+
(...args: A21) => R21,
|
|
492
|
+
(...args: A22) => R22,
|
|
493
|
+
(...args: A23) => R23,
|
|
494
|
+
(...args: A24) => R24,
|
|
495
|
+
]
|
|
496
|
+
: Overloads23<T>;
|
|
497
|
+
type Overloads23<T> = T extends {
|
|
498
|
+
(...args: infer A1): infer R1;
|
|
499
|
+
(...args: infer A2): infer R2;
|
|
500
|
+
(...args: infer A3): infer R3;
|
|
501
|
+
(...args: infer A4): infer R4;
|
|
502
|
+
(...args: infer A5): infer R5;
|
|
503
|
+
(...args: infer A6): infer R6;
|
|
504
|
+
(...args: infer A7): infer R7;
|
|
505
|
+
(...args: infer A8): infer R8;
|
|
506
|
+
(...args: infer A9): infer R9;
|
|
507
|
+
(...args: infer A10): infer R10;
|
|
508
|
+
(...args: infer A11): infer R11;
|
|
509
|
+
(...args: infer A12): infer R12;
|
|
510
|
+
(...args: infer A13): infer R13;
|
|
511
|
+
(...args: infer A14): infer R14;
|
|
512
|
+
(...args: infer A15): infer R15;
|
|
513
|
+
(...args: infer A16): infer R16;
|
|
514
|
+
(...args: infer A17): infer R17;
|
|
515
|
+
(...args: infer A18): infer R18;
|
|
516
|
+
(...args: infer A19): infer R19;
|
|
517
|
+
(...args: infer A20): infer R20;
|
|
518
|
+
(...args: infer A21): infer R21;
|
|
519
|
+
(...args: infer A22): infer R22;
|
|
520
|
+
(...args: infer A23): infer R23;
|
|
521
|
+
}
|
|
522
|
+
? [
|
|
523
|
+
(...args: A1) => R1,
|
|
524
|
+
(...args: A2) => R2,
|
|
525
|
+
(...args: A3) => R3,
|
|
526
|
+
(...args: A4) => R4,
|
|
527
|
+
(...args: A5) => R5,
|
|
528
|
+
(...args: A6) => R6,
|
|
529
|
+
(...args: A7) => R7,
|
|
530
|
+
(...args: A8) => R8,
|
|
531
|
+
(...args: A9) => R9,
|
|
532
|
+
(...args: A10) => R10,
|
|
533
|
+
(...args: A11) => R11,
|
|
534
|
+
(...args: A12) => R12,
|
|
535
|
+
(...args: A13) => R13,
|
|
536
|
+
(...args: A14) => R14,
|
|
537
|
+
(...args: A15) => R15,
|
|
538
|
+
(...args: A16) => R16,
|
|
539
|
+
(...args: A17) => R17,
|
|
540
|
+
(...args: A18) => R18,
|
|
541
|
+
(...args: A19) => R19,
|
|
542
|
+
(...args: A20) => R20,
|
|
543
|
+
(...args: A21) => R21,
|
|
544
|
+
(...args: A22) => R22,
|
|
545
|
+
(...args: A23) => R23,
|
|
546
|
+
]
|
|
547
|
+
: Overloads22<T>;
|
|
548
|
+
type Overloads22<T> = T extends {
|
|
549
|
+
(...args: infer A1): infer R1;
|
|
550
|
+
(...args: infer A2): infer R2;
|
|
551
|
+
(...args: infer A3): infer R3;
|
|
552
|
+
(...args: infer A4): infer R4;
|
|
553
|
+
(...args: infer A5): infer R5;
|
|
554
|
+
(...args: infer A6): infer R6;
|
|
555
|
+
(...args: infer A7): infer R7;
|
|
556
|
+
(...args: infer A8): infer R8;
|
|
557
|
+
(...args: infer A9): infer R9;
|
|
558
|
+
(...args: infer A10): infer R10;
|
|
559
|
+
(...args: infer A11): infer R11;
|
|
560
|
+
(...args: infer A12): infer R12;
|
|
561
|
+
(...args: infer A13): infer R13;
|
|
562
|
+
(...args: infer A14): infer R14;
|
|
563
|
+
(...args: infer A15): infer R15;
|
|
564
|
+
(...args: infer A16): infer R16;
|
|
565
|
+
(...args: infer A17): infer R17;
|
|
566
|
+
(...args: infer A18): infer R18;
|
|
567
|
+
(...args: infer A19): infer R19;
|
|
568
|
+
(...args: infer A20): infer R20;
|
|
569
|
+
(...args: infer A21): infer R21;
|
|
570
|
+
(...args: infer A22): infer R22;
|
|
571
|
+
}
|
|
572
|
+
? [
|
|
573
|
+
(...args: A1) => R1,
|
|
574
|
+
(...args: A2) => R2,
|
|
575
|
+
(...args: A3) => R3,
|
|
576
|
+
(...args: A4) => R4,
|
|
577
|
+
(...args: A5) => R5,
|
|
578
|
+
(...args: A6) => R6,
|
|
579
|
+
(...args: A7) => R7,
|
|
580
|
+
(...args: A8) => R8,
|
|
581
|
+
(...args: A9) => R9,
|
|
582
|
+
(...args: A10) => R10,
|
|
583
|
+
(...args: A11) => R11,
|
|
584
|
+
(...args: A12) => R12,
|
|
585
|
+
(...args: A13) => R13,
|
|
586
|
+
(...args: A14) => R14,
|
|
587
|
+
(...args: A15) => R15,
|
|
588
|
+
(...args: A16) => R16,
|
|
589
|
+
(...args: A17) => R17,
|
|
590
|
+
(...args: A18) => R18,
|
|
591
|
+
(...args: A19) => R19,
|
|
592
|
+
(...args: A20) => R20,
|
|
593
|
+
(...args: A21) => R21,
|
|
594
|
+
(...args: A22) => R22,
|
|
595
|
+
]
|
|
596
|
+
: Overloads21<T>;
|
|
597
|
+
type Overloads21<T> = T extends {
|
|
598
|
+
(...args: infer A1): infer R1;
|
|
599
|
+
(...args: infer A2): infer R2;
|
|
600
|
+
(...args: infer A3): infer R3;
|
|
601
|
+
(...args: infer A4): infer R4;
|
|
602
|
+
(...args: infer A5): infer R5;
|
|
603
|
+
(...args: infer A6): infer R6;
|
|
604
|
+
(...args: infer A7): infer R7;
|
|
605
|
+
(...args: infer A8): infer R8;
|
|
606
|
+
(...args: infer A9): infer R9;
|
|
607
|
+
(...args: infer A10): infer R10;
|
|
608
|
+
(...args: infer A11): infer R11;
|
|
609
|
+
(...args: infer A12): infer R12;
|
|
610
|
+
(...args: infer A13): infer R13;
|
|
611
|
+
(...args: infer A14): infer R14;
|
|
612
|
+
(...args: infer A15): infer R15;
|
|
613
|
+
(...args: infer A16): infer R16;
|
|
614
|
+
(...args: infer A17): infer R17;
|
|
615
|
+
(...args: infer A18): infer R18;
|
|
616
|
+
(...args: infer A19): infer R19;
|
|
617
|
+
(...args: infer A20): infer R20;
|
|
618
|
+
(...args: infer A21): infer R21;
|
|
619
|
+
}
|
|
620
|
+
? [
|
|
621
|
+
(...args: A1) => R1,
|
|
622
|
+
(...args: A2) => R2,
|
|
623
|
+
(...args: A3) => R3,
|
|
624
|
+
(...args: A4) => R4,
|
|
625
|
+
(...args: A5) => R5,
|
|
626
|
+
(...args: A6) => R6,
|
|
627
|
+
(...args: A7) => R7,
|
|
628
|
+
(...args: A8) => R8,
|
|
629
|
+
(...args: A9) => R9,
|
|
630
|
+
(...args: A10) => R10,
|
|
631
|
+
(...args: A11) => R11,
|
|
632
|
+
(...args: A12) => R12,
|
|
633
|
+
(...args: A13) => R13,
|
|
634
|
+
(...args: A14) => R14,
|
|
635
|
+
(...args: A15) => R15,
|
|
636
|
+
(...args: A16) => R16,
|
|
637
|
+
(...args: A17) => R17,
|
|
638
|
+
(...args: A18) => R18,
|
|
639
|
+
(...args: A19) => R19,
|
|
640
|
+
(...args: A20) => R20,
|
|
641
|
+
(...args: A21) => R21,
|
|
642
|
+
]
|
|
643
|
+
: Overloads20<T>;
|
|
644
|
+
type Overloads20<T> = T extends {
|
|
645
|
+
(...args: infer A1): infer R1;
|
|
646
|
+
(...args: infer A2): infer R2;
|
|
647
|
+
(...args: infer A3): infer R3;
|
|
648
|
+
(...args: infer A4): infer R4;
|
|
649
|
+
(...args: infer A5): infer R5;
|
|
650
|
+
(...args: infer A6): infer R6;
|
|
651
|
+
(...args: infer A7): infer R7;
|
|
652
|
+
(...args: infer A8): infer R8;
|
|
653
|
+
(...args: infer A9): infer R9;
|
|
654
|
+
(...args: infer A10): infer R10;
|
|
655
|
+
(...args: infer A11): infer R11;
|
|
656
|
+
(...args: infer A12): infer R12;
|
|
657
|
+
(...args: infer A13): infer R13;
|
|
658
|
+
(...args: infer A14): infer R14;
|
|
659
|
+
(...args: infer A15): infer R15;
|
|
660
|
+
(...args: infer A16): infer R16;
|
|
661
|
+
(...args: infer A17): infer R17;
|
|
662
|
+
(...args: infer A18): infer R18;
|
|
663
|
+
(...args: infer A19): infer R19;
|
|
664
|
+
(...args: infer A20): infer R20;
|
|
665
|
+
}
|
|
666
|
+
? [
|
|
667
|
+
(...args: A1) => R1,
|
|
668
|
+
(...args: A2) => R2,
|
|
669
|
+
(...args: A3) => R3,
|
|
670
|
+
(...args: A4) => R4,
|
|
671
|
+
(...args: A5) => R5,
|
|
672
|
+
(...args: A6) => R6,
|
|
673
|
+
(...args: A7) => R7,
|
|
674
|
+
(...args: A8) => R8,
|
|
675
|
+
(...args: A9) => R9,
|
|
676
|
+
(...args: A10) => R10,
|
|
677
|
+
(...args: A11) => R11,
|
|
678
|
+
(...args: A12) => R12,
|
|
679
|
+
(...args: A13) => R13,
|
|
680
|
+
(...args: A14) => R14,
|
|
681
|
+
(...args: A15) => R15,
|
|
682
|
+
(...args: A16) => R16,
|
|
683
|
+
(...args: A17) => R17,
|
|
684
|
+
(...args: A18) => R18,
|
|
685
|
+
(...args: A19) => R19,
|
|
686
|
+
(...args: A20) => R20,
|
|
687
|
+
]
|
|
688
|
+
: Overloads19<T>;
|
|
689
|
+
type Overloads19<T> = T extends {
|
|
690
|
+
(...args: infer A1): infer R1;
|
|
691
|
+
(...args: infer A2): infer R2;
|
|
692
|
+
(...args: infer A3): infer R3;
|
|
693
|
+
(...args: infer A4): infer R4;
|
|
694
|
+
(...args: infer A5): infer R5;
|
|
695
|
+
(...args: infer A6): infer R6;
|
|
696
|
+
(...args: infer A7): infer R7;
|
|
697
|
+
(...args: infer A8): infer R8;
|
|
698
|
+
(...args: infer A9): infer R9;
|
|
699
|
+
(...args: infer A10): infer R10;
|
|
700
|
+
(...args: infer A11): infer R11;
|
|
701
|
+
(...args: infer A12): infer R12;
|
|
702
|
+
(...args: infer A13): infer R13;
|
|
703
|
+
(...args: infer A14): infer R14;
|
|
704
|
+
(...args: infer A15): infer R15;
|
|
705
|
+
(...args: infer A16): infer R16;
|
|
706
|
+
(...args: infer A17): infer R17;
|
|
707
|
+
(...args: infer A18): infer R18;
|
|
708
|
+
(...args: infer A19): infer R19;
|
|
709
|
+
}
|
|
710
|
+
? [
|
|
711
|
+
(...args: A1) => R1,
|
|
712
|
+
(...args: A2) => R2,
|
|
713
|
+
(...args: A3) => R3,
|
|
714
|
+
(...args: A4) => R4,
|
|
715
|
+
(...args: A5) => R5,
|
|
716
|
+
(...args: A6) => R6,
|
|
717
|
+
(...args: A7) => R7,
|
|
718
|
+
(...args: A8) => R8,
|
|
719
|
+
(...args: A9) => R9,
|
|
720
|
+
(...args: A10) => R10,
|
|
721
|
+
(...args: A11) => R11,
|
|
722
|
+
(...args: A12) => R12,
|
|
723
|
+
(...args: A13) => R13,
|
|
724
|
+
(...args: A14) => R14,
|
|
725
|
+
(...args: A15) => R15,
|
|
726
|
+
(...args: A16) => R16,
|
|
727
|
+
(...args: A17) => R17,
|
|
728
|
+
(...args: A18) => R18,
|
|
729
|
+
(...args: A19) => R19,
|
|
730
|
+
]
|
|
731
|
+
: Overloads18<T>;
|
|
732
|
+
type Overloads18<T> = T extends {
|
|
733
|
+
(...args: infer A1): infer R1;
|
|
734
|
+
(...args: infer A2): infer R2;
|
|
735
|
+
(...args: infer A3): infer R3;
|
|
736
|
+
(...args: infer A4): infer R4;
|
|
737
|
+
(...args: infer A5): infer R5;
|
|
738
|
+
(...args: infer A6): infer R6;
|
|
739
|
+
(...args: infer A7): infer R7;
|
|
740
|
+
(...args: infer A8): infer R8;
|
|
741
|
+
(...args: infer A9): infer R9;
|
|
742
|
+
(...args: infer A10): infer R10;
|
|
743
|
+
(...args: infer A11): infer R11;
|
|
744
|
+
(...args: infer A12): infer R12;
|
|
745
|
+
(...args: infer A13): infer R13;
|
|
746
|
+
(...args: infer A14): infer R14;
|
|
747
|
+
(...args: infer A15): infer R15;
|
|
748
|
+
(...args: infer A16): infer R16;
|
|
749
|
+
(...args: infer A17): infer R17;
|
|
750
|
+
(...args: infer A18): infer R18;
|
|
751
|
+
}
|
|
752
|
+
? [
|
|
753
|
+
(...args: A1) => R1,
|
|
754
|
+
(...args: A2) => R2,
|
|
755
|
+
(...args: A3) => R3,
|
|
756
|
+
(...args: A4) => R4,
|
|
757
|
+
(...args: A5) => R5,
|
|
758
|
+
(...args: A6) => R6,
|
|
759
|
+
(...args: A7) => R7,
|
|
760
|
+
(...args: A8) => R8,
|
|
761
|
+
(...args: A9) => R9,
|
|
762
|
+
(...args: A10) => R10,
|
|
763
|
+
(...args: A11) => R11,
|
|
764
|
+
(...args: A12) => R12,
|
|
765
|
+
(...args: A13) => R13,
|
|
766
|
+
(...args: A14) => R14,
|
|
767
|
+
(...args: A15) => R15,
|
|
768
|
+
(...args: A16) => R16,
|
|
769
|
+
(...args: A17) => R17,
|
|
770
|
+
(...args: A18) => R18,
|
|
771
|
+
]
|
|
772
|
+
: Overloads17<T>;
|
|
773
|
+
type Overloads17<T> = T extends {
|
|
774
|
+
(...args: infer A1): infer R1;
|
|
775
|
+
(...args: infer A2): infer R2;
|
|
776
|
+
(...args: infer A3): infer R3;
|
|
777
|
+
(...args: infer A4): infer R4;
|
|
778
|
+
(...args: infer A5): infer R5;
|
|
779
|
+
(...args: infer A6): infer R6;
|
|
780
|
+
(...args: infer A7): infer R7;
|
|
781
|
+
(...args: infer A8): infer R8;
|
|
782
|
+
(...args: infer A9): infer R9;
|
|
783
|
+
(...args: infer A10): infer R10;
|
|
784
|
+
(...args: infer A11): infer R11;
|
|
785
|
+
(...args: infer A12): infer R12;
|
|
786
|
+
(...args: infer A13): infer R13;
|
|
787
|
+
(...args: infer A14): infer R14;
|
|
788
|
+
(...args: infer A15): infer R15;
|
|
789
|
+
(...args: infer A16): infer R16;
|
|
790
|
+
(...args: infer A17): infer R17;
|
|
791
|
+
}
|
|
792
|
+
? [
|
|
793
|
+
(...args: A1) => R1,
|
|
794
|
+
(...args: A2) => R2,
|
|
795
|
+
(...args: A3) => R3,
|
|
796
|
+
(...args: A4) => R4,
|
|
797
|
+
(...args: A5) => R5,
|
|
798
|
+
(...args: A6) => R6,
|
|
799
|
+
(...args: A7) => R7,
|
|
800
|
+
(...args: A8) => R8,
|
|
801
|
+
(...args: A9) => R9,
|
|
802
|
+
(...args: A10) => R10,
|
|
803
|
+
(...args: A11) => R11,
|
|
804
|
+
(...args: A12) => R12,
|
|
805
|
+
(...args: A13) => R13,
|
|
806
|
+
(...args: A14) => R14,
|
|
807
|
+
(...args: A15) => R15,
|
|
808
|
+
(...args: A16) => R16,
|
|
809
|
+
(...args: A17) => R17,
|
|
810
|
+
]
|
|
811
|
+
: Overloads16<T>;
|
|
812
|
+
type Overloads16<T> = T extends {
|
|
813
|
+
(...args: infer A1): infer R1;
|
|
814
|
+
(...args: infer A2): infer R2;
|
|
815
|
+
(...args: infer A3): infer R3;
|
|
816
|
+
(...args: infer A4): infer R4;
|
|
817
|
+
(...args: infer A5): infer R5;
|
|
818
|
+
(...args: infer A6): infer R6;
|
|
819
|
+
(...args: infer A7): infer R7;
|
|
820
|
+
(...args: infer A8): infer R8;
|
|
821
|
+
(...args: infer A9): infer R9;
|
|
822
|
+
(...args: infer A10): infer R10;
|
|
823
|
+
(...args: infer A11): infer R11;
|
|
824
|
+
(...args: infer A12): infer R12;
|
|
825
|
+
(...args: infer A13): infer R13;
|
|
826
|
+
(...args: infer A14): infer R14;
|
|
827
|
+
(...args: infer A15): infer R15;
|
|
828
|
+
(...args: infer A16): infer R16;
|
|
829
|
+
}
|
|
830
|
+
? [
|
|
831
|
+
(...args: A1) => R1,
|
|
832
|
+
(...args: A2) => R2,
|
|
833
|
+
(...args: A3) => R3,
|
|
834
|
+
(...args: A4) => R4,
|
|
835
|
+
(...args: A5) => R5,
|
|
836
|
+
(...args: A6) => R6,
|
|
837
|
+
(...args: A7) => R7,
|
|
838
|
+
(...args: A8) => R8,
|
|
839
|
+
(...args: A9) => R9,
|
|
840
|
+
(...args: A10) => R10,
|
|
841
|
+
(...args: A11) => R11,
|
|
842
|
+
(...args: A12) => R12,
|
|
843
|
+
(...args: A13) => R13,
|
|
844
|
+
(...args: A14) => R14,
|
|
845
|
+
(...args: A15) => R15,
|
|
846
|
+
(...args: A16) => R16,
|
|
847
|
+
]
|
|
848
|
+
: Overloads15<T>;
|
|
849
|
+
type Overloads15<T> = T extends {
|
|
850
|
+
(...args: infer A1): infer R1;
|
|
851
|
+
(...args: infer A2): infer R2;
|
|
852
|
+
(...args: infer A3): infer R3;
|
|
853
|
+
(...args: infer A4): infer R4;
|
|
854
|
+
(...args: infer A5): infer R5;
|
|
855
|
+
(...args: infer A6): infer R6;
|
|
856
|
+
(...args: infer A7): infer R7;
|
|
857
|
+
(...args: infer A8): infer R8;
|
|
858
|
+
(...args: infer A9): infer R9;
|
|
859
|
+
(...args: infer A10): infer R10;
|
|
860
|
+
(...args: infer A11): infer R11;
|
|
861
|
+
(...args: infer A12): infer R12;
|
|
862
|
+
(...args: infer A13): infer R13;
|
|
863
|
+
(...args: infer A14): infer R14;
|
|
864
|
+
(...args: infer A15): infer R15;
|
|
865
|
+
}
|
|
866
|
+
? [
|
|
867
|
+
(...args: A1) => R1,
|
|
868
|
+
(...args: A2) => R2,
|
|
869
|
+
(...args: A3) => R3,
|
|
870
|
+
(...args: A4) => R4,
|
|
871
|
+
(...args: A5) => R5,
|
|
872
|
+
(...args: A6) => R6,
|
|
873
|
+
(...args: A7) => R7,
|
|
874
|
+
(...args: A8) => R8,
|
|
875
|
+
(...args: A9) => R9,
|
|
876
|
+
(...args: A10) => R10,
|
|
877
|
+
(...args: A11) => R11,
|
|
878
|
+
(...args: A12) => R12,
|
|
879
|
+
(...args: A13) => R13,
|
|
880
|
+
(...args: A14) => R14,
|
|
881
|
+
(...args: A15) => R15,
|
|
882
|
+
]
|
|
883
|
+
: Overloads14<T>;
|
|
884
|
+
type Overloads14<T> = T extends {
|
|
885
|
+
(...args: infer A1): infer R1;
|
|
886
|
+
(...args: infer A2): infer R2;
|
|
887
|
+
(...args: infer A3): infer R3;
|
|
888
|
+
(...args: infer A4): infer R4;
|
|
889
|
+
(...args: infer A5): infer R5;
|
|
890
|
+
(...args: infer A6): infer R6;
|
|
891
|
+
(...args: infer A7): infer R7;
|
|
892
|
+
(...args: infer A8): infer R8;
|
|
893
|
+
(...args: infer A9): infer R9;
|
|
894
|
+
(...args: infer A10): infer R10;
|
|
895
|
+
(...args: infer A11): infer R11;
|
|
896
|
+
(...args: infer A12): infer R12;
|
|
897
|
+
(...args: infer A13): infer R13;
|
|
898
|
+
(...args: infer A14): infer R14;
|
|
899
|
+
}
|
|
900
|
+
? [
|
|
901
|
+
(...args: A1) => R1,
|
|
902
|
+
(...args: A2) => R2,
|
|
903
|
+
(...args: A3) => R3,
|
|
904
|
+
(...args: A4) => R4,
|
|
905
|
+
(...args: A5) => R5,
|
|
906
|
+
(...args: A6) => R6,
|
|
907
|
+
(...args: A7) => R7,
|
|
908
|
+
(...args: A8) => R8,
|
|
909
|
+
(...args: A9) => R9,
|
|
910
|
+
(...args: A10) => R10,
|
|
911
|
+
(...args: A11) => R11,
|
|
912
|
+
(...args: A12) => R12,
|
|
913
|
+
(...args: A13) => R13,
|
|
914
|
+
(...args: A14) => R14,
|
|
915
|
+
]
|
|
916
|
+
: Overloads13<T>;
|
|
917
|
+
type Overloads13<T> = T extends {
|
|
918
|
+
(...args: infer A1): infer R1;
|
|
919
|
+
(...args: infer A2): infer R2;
|
|
920
|
+
(...args: infer A3): infer R3;
|
|
921
|
+
(...args: infer A4): infer R4;
|
|
922
|
+
(...args: infer A5): infer R5;
|
|
923
|
+
(...args: infer A6): infer R6;
|
|
924
|
+
(...args: infer A7): infer R7;
|
|
925
|
+
(...args: infer A8): infer R8;
|
|
926
|
+
(...args: infer A9): infer R9;
|
|
927
|
+
(...args: infer A10): infer R10;
|
|
928
|
+
(...args: infer A11): infer R11;
|
|
929
|
+
(...args: infer A12): infer R12;
|
|
930
|
+
(...args: infer A13): infer R13;
|
|
931
|
+
}
|
|
932
|
+
? [
|
|
933
|
+
(...args: A1) => R1,
|
|
934
|
+
(...args: A2) => R2,
|
|
935
|
+
(...args: A3) => R3,
|
|
936
|
+
(...args: A4) => R4,
|
|
937
|
+
(...args: A5) => R5,
|
|
938
|
+
(...args: A6) => R6,
|
|
939
|
+
(...args: A7) => R7,
|
|
940
|
+
(...args: A8) => R8,
|
|
941
|
+
(...args: A9) => R9,
|
|
942
|
+
(...args: A10) => R10,
|
|
943
|
+
(...args: A11) => R11,
|
|
944
|
+
(...args: A12) => R12,
|
|
945
|
+
(...args: A13) => R13,
|
|
946
|
+
]
|
|
947
|
+
: Overloads12<T>;
|
|
948
|
+
type Overloads12<T> = T extends {
|
|
949
|
+
(...args: infer A1): infer R1;
|
|
950
|
+
(...args: infer A2): infer R2;
|
|
951
|
+
(...args: infer A3): infer R3;
|
|
952
|
+
(...args: infer A4): infer R4;
|
|
953
|
+
(...args: infer A5): infer R5;
|
|
954
|
+
(...args: infer A6): infer R6;
|
|
955
|
+
(...args: infer A7): infer R7;
|
|
956
|
+
(...args: infer A8): infer R8;
|
|
957
|
+
(...args: infer A9): infer R9;
|
|
958
|
+
(...args: infer A10): infer R10;
|
|
959
|
+
(...args: infer A11): infer R11;
|
|
960
|
+
(...args: infer A12): infer R12;
|
|
961
|
+
}
|
|
962
|
+
? [
|
|
963
|
+
(...args: A1) => R1,
|
|
964
|
+
(...args: A2) => R2,
|
|
965
|
+
(...args: A3) => R3,
|
|
966
|
+
(...args: A4) => R4,
|
|
967
|
+
(...args: A5) => R5,
|
|
968
|
+
(...args: A6) => R6,
|
|
969
|
+
(...args: A7) => R7,
|
|
970
|
+
(...args: A8) => R8,
|
|
971
|
+
(...args: A9) => R9,
|
|
972
|
+
(...args: A10) => R10,
|
|
973
|
+
(...args: A11) => R11,
|
|
974
|
+
(...args: A12) => R12,
|
|
975
|
+
]
|
|
976
|
+
: Overloads11<T>;
|
|
977
|
+
type Overloads11<T> = T extends {
|
|
978
|
+
(...args: infer A1): infer R1;
|
|
979
|
+
(...args: infer A2): infer R2;
|
|
980
|
+
(...args: infer A3): infer R3;
|
|
981
|
+
(...args: infer A4): infer R4;
|
|
982
|
+
(...args: infer A5): infer R5;
|
|
983
|
+
(...args: infer A6): infer R6;
|
|
984
|
+
(...args: infer A7): infer R7;
|
|
985
|
+
(...args: infer A8): infer R8;
|
|
986
|
+
(...args: infer A9): infer R9;
|
|
987
|
+
(...args: infer A10): infer R10;
|
|
988
|
+
(...args: infer A11): infer R11;
|
|
989
|
+
}
|
|
990
|
+
? [
|
|
991
|
+
(...args: A1) => R1,
|
|
992
|
+
(...args: A2) => R2,
|
|
993
|
+
(...args: A3) => R3,
|
|
994
|
+
(...args: A4) => R4,
|
|
995
|
+
(...args: A5) => R5,
|
|
996
|
+
(...args: A6) => R6,
|
|
997
|
+
(...args: A7) => R7,
|
|
998
|
+
(...args: A8) => R8,
|
|
999
|
+
(...args: A9) => R9,
|
|
1000
|
+
(...args: A10) => R10,
|
|
1001
|
+
(...args: A11) => R11,
|
|
1002
|
+
]
|
|
1003
|
+
: Overloads10<T>;
|
|
1004
|
+
type Overloads10<T> = T extends {
|
|
1005
|
+
(...args: infer A1): infer R1;
|
|
1006
|
+
(...args: infer A2): infer R2;
|
|
1007
|
+
(...args: infer A3): infer R3;
|
|
1008
|
+
(...args: infer A4): infer R4;
|
|
1009
|
+
(...args: infer A5): infer R5;
|
|
1010
|
+
(...args: infer A6): infer R6;
|
|
1011
|
+
(...args: infer A7): infer R7;
|
|
1012
|
+
(...args: infer A8): infer R8;
|
|
1013
|
+
(...args: infer A9): infer R9;
|
|
1014
|
+
(...args: infer A10): infer R10;
|
|
1015
|
+
}
|
|
1016
|
+
? [
|
|
1017
|
+
(...args: A1) => R1,
|
|
1018
|
+
(...args: A2) => R2,
|
|
1019
|
+
(...args: A3) => R3,
|
|
1020
|
+
(...args: A4) => R4,
|
|
1021
|
+
(...args: A5) => R5,
|
|
1022
|
+
(...args: A6) => R6,
|
|
1023
|
+
(...args: A7) => R7,
|
|
1024
|
+
(...args: A8) => R8,
|
|
1025
|
+
(...args: A9) => R9,
|
|
1026
|
+
(...args: A10) => R10,
|
|
1027
|
+
]
|
|
1028
|
+
: Overloads9<T>;
|
|
1029
|
+
type Overloads9<T> = T extends {
|
|
1030
|
+
(...args: infer A1): infer R1;
|
|
1031
|
+
(...args: infer A2): infer R2;
|
|
1032
|
+
(...args: infer A3): infer R3;
|
|
1033
|
+
(...args: infer A4): infer R4;
|
|
1034
|
+
(...args: infer A5): infer R5;
|
|
1035
|
+
(...args: infer A6): infer R6;
|
|
1036
|
+
(...args: infer A7): infer R7;
|
|
1037
|
+
(...args: infer A8): infer R8;
|
|
1038
|
+
(...args: infer A9): infer R9;
|
|
1039
|
+
}
|
|
1040
|
+
? [
|
|
1041
|
+
(...args: A1) => R1,
|
|
1042
|
+
(...args: A2) => R2,
|
|
1043
|
+
(...args: A3) => R3,
|
|
1044
|
+
(...args: A4) => R4,
|
|
1045
|
+
(...args: A5) => R5,
|
|
1046
|
+
(...args: A6) => R6,
|
|
1047
|
+
(...args: A7) => R7,
|
|
1048
|
+
(...args: A8) => R8,
|
|
1049
|
+
(...args: A9) => R9,
|
|
1050
|
+
]
|
|
1051
|
+
: Overloads8<T>;
|
|
1052
|
+
type Overloads8<T> = T extends {
|
|
1053
|
+
(...args: infer A1): infer R1;
|
|
1054
|
+
(...args: infer A2): infer R2;
|
|
1055
|
+
(...args: infer A3): infer R3;
|
|
1056
|
+
(...args: infer A4): infer R4;
|
|
1057
|
+
(...args: infer A5): infer R5;
|
|
1058
|
+
(...args: infer A6): infer R6;
|
|
1059
|
+
(...args: infer A7): infer R7;
|
|
1060
|
+
(...args: infer A8): infer R8;
|
|
1061
|
+
}
|
|
1062
|
+
? [
|
|
1063
|
+
(...args: A1) => R1,
|
|
1064
|
+
(...args: A2) => R2,
|
|
1065
|
+
(...args: A3) => R3,
|
|
1066
|
+
(...args: A4) => R4,
|
|
1067
|
+
(...args: A5) => R5,
|
|
1068
|
+
(...args: A6) => R6,
|
|
1069
|
+
(...args: A7) => R7,
|
|
1070
|
+
(...args: A8) => R8,
|
|
1071
|
+
]
|
|
1072
|
+
: Overloads7<T>;
|
|
1073
|
+
type Overloads7<T> = T extends {
|
|
1074
|
+
(...args: infer A1): infer R1;
|
|
1075
|
+
(...args: infer A2): infer R2;
|
|
1076
|
+
(...args: infer A3): infer R3;
|
|
1077
|
+
(...args: infer A4): infer R4;
|
|
1078
|
+
(...args: infer A5): infer R5;
|
|
1079
|
+
(...args: infer A6): infer R6;
|
|
1080
|
+
(...args: infer A7): infer R7;
|
|
1081
|
+
}
|
|
1082
|
+
? [
|
|
1083
|
+
(...args: A1) => R1,
|
|
1084
|
+
(...args: A2) => R2,
|
|
1085
|
+
(...args: A3) => R3,
|
|
1086
|
+
(...args: A4) => R4,
|
|
1087
|
+
(...args: A5) => R5,
|
|
1088
|
+
(...args: A6) => R6,
|
|
1089
|
+
(...args: A7) => R7,
|
|
1090
|
+
]
|
|
1091
|
+
: Overloads6<T>;
|
|
1092
|
+
type Overloads6<T> = T extends {
|
|
1093
|
+
(...args: infer A1): infer R1;
|
|
1094
|
+
(...args: infer A2): infer R2;
|
|
1095
|
+
(...args: infer A3): infer R3;
|
|
1096
|
+
(...args: infer A4): infer R4;
|
|
1097
|
+
(...args: infer A5): infer R5;
|
|
1098
|
+
(...args: infer A6): infer R6;
|
|
1099
|
+
}
|
|
1100
|
+
? [
|
|
1101
|
+
(...args: A1) => R1,
|
|
1102
|
+
(...args: A2) => R2,
|
|
1103
|
+
(...args: A3) => R3,
|
|
1104
|
+
(...args: A4) => R4,
|
|
1105
|
+
(...args: A5) => R5,
|
|
1106
|
+
(...args: A6) => R6,
|
|
1107
|
+
]
|
|
1108
|
+
: Overloads5<T>;
|
|
1109
|
+
type Overloads5<T> = T extends {
|
|
1110
|
+
(...args: infer A1): infer R1;
|
|
1111
|
+
(...args: infer A2): infer R2;
|
|
1112
|
+
(...args: infer A3): infer R3;
|
|
1113
|
+
(...args: infer A4): infer R4;
|
|
1114
|
+
(...args: infer A5): infer R5;
|
|
1115
|
+
}
|
|
1116
|
+
? [(...args: A1) => R1, (...args: A2) => R2, (...args: A3) => R3, (...args: A4) => R4, (...args: A5) => R5]
|
|
1117
|
+
: Overloads4<T>;
|
|
1118
|
+
type Overloads4<T> = T extends {
|
|
1119
|
+
(...args: infer A1): infer R1;
|
|
1120
|
+
(...args: infer A2): infer R2;
|
|
1121
|
+
(...args: infer A3): infer R3;
|
|
1122
|
+
(...args: infer A4): infer R4;
|
|
1123
|
+
}
|
|
1124
|
+
? [(...args: A1) => R1, (...args: A2) => R2, (...args: A3) => R3, (...args: A4) => R4]
|
|
1125
|
+
: Overloads3<T>;
|
|
1126
|
+
type Overloads3<T> = T extends {
|
|
1127
|
+
(...args: infer A1): infer R1;
|
|
1128
|
+
(...args: infer A2): infer R2;
|
|
1129
|
+
(...args: infer A3): infer R3;
|
|
1130
|
+
}
|
|
1131
|
+
? [(...args: A1) => R1, (...args: A2) => R2, (...args: A3) => R3]
|
|
1132
|
+
: Overloads2<T>;
|
|
1133
|
+
type Overloads2<T> = T extends {
|
|
1134
|
+
(...args: infer A1): infer R1;
|
|
1135
|
+
(...args: infer A2): infer R2;
|
|
1136
|
+
}
|
|
1137
|
+
? [(...args: A1) => R1, (...args: A2) => R2]
|
|
1138
|
+
: Overloads1<T>;
|
|
1139
|
+
type Overloads1<T> = T extends {
|
|
1140
|
+
(...args: infer A1): infer R1;
|
|
1141
|
+
}
|
|
1142
|
+
? [(...args: A1) => R1]
|
|
1143
|
+
: unknown;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function is a replacement for `JSON.parse` that can handle large
|
|
3
|
+
* unsafe integers by parsing them as BigInts. It transforms every
|
|
4
|
+
* numerical value into a BigInt without loss of precision.
|
|
5
|
+
*/
|
|
6
|
+
export function parseJsonWithBigInts(json: string): unknown {
|
|
7
|
+
return JSON.parse(wrapIntegersInBigIntValueObject(json), (_, value) => {
|
|
8
|
+
return isBigIntValueObject(value) ? unwrapBigIntValueObject(value) : value;
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function wrapIntegersInBigIntValueObject(json: string): string {
|
|
13
|
+
const out = [];
|
|
14
|
+
let inQuote = false;
|
|
15
|
+
for (let ii = 0; ii < json.length; ii++) {
|
|
16
|
+
let isEscaped = false;
|
|
17
|
+
if (json[ii] === '\\') {
|
|
18
|
+
out.push(json[ii++]);
|
|
19
|
+
isEscaped = !isEscaped;
|
|
20
|
+
}
|
|
21
|
+
if (json[ii] === '"') {
|
|
22
|
+
out.push(json[ii]);
|
|
23
|
+
if (!isEscaped) {
|
|
24
|
+
inQuote = !inQuote;
|
|
25
|
+
}
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (!inQuote) {
|
|
29
|
+
const consumedNumber = consumeNumber(json, ii);
|
|
30
|
+
if (consumedNumber?.length) {
|
|
31
|
+
ii += consumedNumber.length - 1;
|
|
32
|
+
// Don't wrap numbers that contain a decimal point or a negative exponent.
|
|
33
|
+
if (consumedNumber.match(/\.|[eE]-/)) {
|
|
34
|
+
out.push(consumedNumber);
|
|
35
|
+
} else {
|
|
36
|
+
out.push(wrapBigIntValueObject(consumedNumber));
|
|
37
|
+
}
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
out.push(json[ii]);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return out.join('');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function consumeNumber(json: string, ii: number): string | null {
|
|
48
|
+
/** @see https://stackoverflow.com/a/13340826/11440277 */
|
|
49
|
+
const JSON_NUMBER_REGEX = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/;
|
|
50
|
+
|
|
51
|
+
// Stop early if the first character isn't a digit or a minus sign.
|
|
52
|
+
if (!json[ii]?.match(/[-\d]/)) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Otherwise, check if the next characters form a valid JSON number.
|
|
57
|
+
const numberMatch = json.slice(ii).match(JSON_NUMBER_REGEX);
|
|
58
|
+
return numberMatch ? numberMatch[0] : null;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
type BigIntValueObject = {
|
|
62
|
+
// `$` implies 'this is a value object'.
|
|
63
|
+
// `n` implies 'interpret the value as a bigint'.
|
|
64
|
+
$n: string;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
function wrapBigIntValueObject(value: string): string {
|
|
68
|
+
return `{"$n":"${value}"}`;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function unwrapBigIntValueObject({ $n }: BigIntValueObject): bigint {
|
|
72
|
+
if ($n.match(/[eE]/)) {
|
|
73
|
+
const [units, exponent] = $n.split(/[eE]/);
|
|
74
|
+
return BigInt(units) * BigInt(10) ** BigInt(exponent);
|
|
75
|
+
}
|
|
76
|
+
return BigInt($n);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function isBigIntValueObject(value: unknown): value is BigIntValueObject {
|
|
80
|
+
return !!value && typeof value === 'object' && '$n' in value && typeof value.$n === 'string';
|
|
81
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RpcRequest } from './rpc-request';
|
|
2
|
+
|
|
3
|
+
let _nextMessageId = 0n;
|
|
4
|
+
function getNextMessageId(): string {
|
|
5
|
+
const id = _nextMessageId;
|
|
6
|
+
_nextMessageId++;
|
|
7
|
+
return id.toString();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Returns a spec-compliant JSON RPC 2.0 message, given a method name and some params.
|
|
12
|
+
*
|
|
13
|
+
* Generates a new `id` on each call by incrementing a `bigint` and casting it to a string.
|
|
14
|
+
*/
|
|
15
|
+
export function createRpcMessage<TParams>(request: RpcRequest<TParams>) {
|
|
16
|
+
return {
|
|
17
|
+
id: getNextMessageId(),
|
|
18
|
+
jsonrpc: '2.0',
|
|
19
|
+
method: request.methodName,
|
|
20
|
+
params: request.params,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Describes the elements of a {@link Rpc} or {@link RpcSubscriptions} request.
|
|
3
|
+
*/
|
|
4
|
+
export type RpcRequest<TParams = unknown> = {
|
|
5
|
+
/** Rhe name of the RPC method or subscription requested */
|
|
6
|
+
readonly methodName: string;
|
|
7
|
+
/** The parameters to be passed to the RPC server */
|
|
8
|
+
readonly params: TParams;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A function that accepts a {@link RpcRequest} and returns another {@link RpcRequest}.
|
|
13
|
+
*
|
|
14
|
+
* This allows the {@link RpcApi} to transform the request before it is sent to the RPC server.
|
|
15
|
+
*/
|
|
16
|
+
export type RpcRequestTransformer = {
|
|
17
|
+
<TParams>(request: RpcRequest<TParams>): RpcRequest;
|
|
18
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { RpcRequest } from './rpc-request';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents the response from a RPC server.
|
|
5
|
+
*
|
|
6
|
+
* This could be any sort of data which is why {@link RpcResponse} defaults to `unknown`. You may
|
|
7
|
+
* use a type parameter to specify the shape of the response — e.g.
|
|
8
|
+
* `RpcResponse<{ result: number }>`.
|
|
9
|
+
*/
|
|
10
|
+
export type RpcResponse<TResponse = unknown> = TResponse;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A function that accepts a {@link RpcResponse} and returns another {@link RpcResponse}.
|
|
14
|
+
*
|
|
15
|
+
* This allows the {@link RpcApi} to transform the response before it is returned to the caller.
|
|
16
|
+
*/
|
|
17
|
+
export type RpcResponseTransformer<TResponse = unknown> = {
|
|
18
|
+
(response: RpcResponse, request: RpcRequest): RpcResponse<TResponse>;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
interface HasIdentifier {
|
|
22
|
+
readonly id: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type RpcErrorResponsePayload = Readonly<{
|
|
26
|
+
code: number;
|
|
27
|
+
data?: unknown;
|
|
28
|
+
message: string;
|
|
29
|
+
}>;
|
|
30
|
+
|
|
31
|
+
export type RpcResponseData<TResponse> = HasIdentifier &
|
|
32
|
+
Readonly<{ error: RpcErrorResponsePayload } | { result: TResponse }>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transforms a value into a JSON string, whilst rendering bigints as large unsafe integers.
|
|
3
|
+
*/
|
|
4
|
+
export function stringifyJsonWithBigInts(value: unknown, space?: number | string): string {
|
|
5
|
+
return unwrapBigIntValueObject(
|
|
6
|
+
JSON.stringify(value, (_, v) => (typeof v === 'bigint' ? wrapBigIntValueObject(v) : v), space),
|
|
7
|
+
);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
type BigIntValueObject = {
|
|
11
|
+
// `$` implies 'this is a value object'.
|
|
12
|
+
// `n` implies 'interpret the value as a bigint'.
|
|
13
|
+
$n: string;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
function wrapBigIntValueObject(value: bigint): BigIntValueObject {
|
|
17
|
+
return { $n: `${value}` };
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function unwrapBigIntValueObject(value: string): string {
|
|
21
|
+
return value.replace(/\{\s*"\$n"\s*:\s*"(-?\d+)"\s*\}/g, '$1');
|
|
22
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2
|
+
export type Callable = (...args: any[]) => any;
|
|
3
|
+
export type Flatten<T> = T extends (infer Item)[] ? Item : never;
|
|
4
|
+
export type UnionToIntersection<T> = (T extends unknown ? (x: T) => unknown : never) extends (x: infer R) => unknown
|
|
5
|
+
? R
|
|
6
|
+
: never;
|