Skip to content

Commit 5a66807

Browse files
committed
Optional ALL THE DataWithOptionalCause
1 parent 34049f8 commit 5a66807

File tree

2 files changed

+27
-30
lines changed

2 files changed

+27
-30
lines changed

src/classes.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ import type {
55
import { isPlainObject } from '@metamask/utils';
66
import safeStringify from 'fast-safe-stringify';
77

8-
import type {
9-
DataWithOptionalCause,
10-
OptionalDataWithOptionalCause,
11-
} from './utils';
8+
import type { OptionalDataWithOptionalCause } from './utils';
129
import { serializeCause } from './utils';
1310

1411
export type { SerializedJsonRpcError };
@@ -87,7 +84,7 @@ export class JsonRpcError<
8784
* Permits integer error codes in the [ 1000 <= 4999 ] range.
8885
*/
8986
export class EthereumProviderError<
90-
Data extends DataWithOptionalCause,
87+
Data extends OptionalDataWithOptionalCause,
9188
> extends JsonRpcError<Data> {
9289
/**
9390
* Create an Ethereum Provider JSON-RPC error.

src/errors.ts

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
import { JsonRpcError, EthereumProviderError } from './classes';
22
import { errorCodes } from './error-constants';
3-
import type {
4-
DataWithOptionalCause,
5-
OptionalDataWithOptionalCause,
6-
} from './utils';
3+
import type { OptionalDataWithOptionalCause } from './utils';
74
import { getMessageFromCode } from './utils';
85

96
type EthereumErrorOptions<Data extends OptionalDataWithOptionalCause> = {
107
message?: string;
118
data?: Data;
129
};
1310

14-
type ServerErrorOptions<Data extends DataWithOptionalCause> = {
11+
type ServerErrorOptions<Data extends OptionalDataWithOptionalCause> = {
1512
code: number;
1613
} & EthereumErrorOptions<Data>;
1714

18-
type CustomErrorArg<Data extends DataWithOptionalCause> =
15+
type CustomErrorArg<Data extends OptionalDataWithOptionalCause> =
1916
ServerErrorOptions<Data>;
2017

2118
type JsonRpcErrorsArg<Data extends OptionalDataWithOptionalCause> =
@@ -29,16 +26,17 @@ export const rpcErrors = {
2926
* @param arg - The error message or options bag.
3027
* @returns An instance of the {@link JsonRpcError} class.
3128
*/
32-
parse: <Data extends DataWithOptionalCause>(arg?: JsonRpcErrorsArg<Data>) =>
33-
getJsonRpcError(errorCodes.rpc.parse, arg),
29+
parse: <Data extends OptionalDataWithOptionalCause>(
30+
arg?: JsonRpcErrorsArg<Data>,
31+
) => getJsonRpcError(errorCodes.rpc.parse, arg),
3432

3533
/**
3634
* Get a JSON RPC 2.0 Invalid Request (-32600) error.
3735
*
3836
* @param arg - The error message or options bag.
3937
* @returns An instance of the {@link JsonRpcError} class.
4038
*/
41-
invalidRequest: <Data extends DataWithOptionalCause>(
39+
invalidRequest: <Data extends OptionalDataWithOptionalCause>(
4240
arg?: JsonRpcErrorsArg<Data>,
4341
) => getJsonRpcError(errorCodes.rpc.invalidRequest, arg),
4442

@@ -48,7 +46,7 @@ export const rpcErrors = {
4846
* @param arg - The error message or options bag.
4947
* @returns An instance of the {@link JsonRpcError} class.
5048
*/
51-
invalidParams: <Data extends DataWithOptionalCause>(
49+
invalidParams: <Data extends OptionalDataWithOptionalCause>(
5250
arg?: JsonRpcErrorsArg<Data>,
5351
) => getJsonRpcError(errorCodes.rpc.invalidParams, arg),
5452

@@ -58,7 +56,7 @@ export const rpcErrors = {
5856
* @param arg - The error message or options bag.
5957
* @returns An instance of the {@link JsonRpcError} class.
6058
*/
61-
methodNotFound: <Data extends DataWithOptionalCause>(
59+
methodNotFound: <Data extends OptionalDataWithOptionalCause>(
6260
arg?: JsonRpcErrorsArg<Data>,
6361
) => getJsonRpcError(errorCodes.rpc.methodNotFound, arg),
6462

@@ -80,7 +78,7 @@ export const rpcErrors = {
8078
* @param opts - The error options bag.
8179
* @returns An instance of the {@link JsonRpcError} class.
8280
*/
83-
server: <Data extends DataWithOptionalCause>(
81+
server: <Data extends OptionalDataWithOptionalCause>(
8482
opts: ServerErrorOptions<Data>,
8583
) => {
8684
if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {
@@ -103,7 +101,7 @@ export const rpcErrors = {
103101
* @param arg - The error message or options bag.
104102
* @returns An instance of the {@link JsonRpcError} class.
105103
*/
106-
invalidInput: <Data extends DataWithOptionalCause>(
104+
invalidInput: <Data extends OptionalDataWithOptionalCause>(
107105
arg?: JsonRpcErrorsArg<Data>,
108106
) => getJsonRpcError(errorCodes.rpc.invalidInput, arg),
109107

@@ -113,7 +111,7 @@ export const rpcErrors = {
113111
* @param arg - The error message or options bag.
114112
* @returns An instance of the {@link JsonRpcError} class.
115113
*/
116-
resourceNotFound: <Data extends DataWithOptionalCause>(
114+
resourceNotFound: <Data extends OptionalDataWithOptionalCause>(
117115
arg?: JsonRpcErrorsArg<Data>,
118116
) => getJsonRpcError(errorCodes.rpc.resourceNotFound, arg),
119117

@@ -123,7 +121,7 @@ export const rpcErrors = {
123121
* @param arg - The error message or options bag.
124122
* @returns An instance of the {@link JsonRpcError} class.
125123
*/
126-
resourceUnavailable: <Data extends DataWithOptionalCause>(
124+
resourceUnavailable: <Data extends OptionalDataWithOptionalCause>(
127125
arg?: JsonRpcErrorsArg<Data>,
128126
) => getJsonRpcError(errorCodes.rpc.resourceUnavailable, arg),
129127

@@ -133,7 +131,7 @@ export const rpcErrors = {
133131
* @param arg - The error message or options bag.
134132
* @returns An instance of the {@link JsonRpcError} class.
135133
*/
136-
transactionRejected: <Data extends DataWithOptionalCause>(
134+
transactionRejected: <Data extends OptionalDataWithOptionalCause>(
137135
arg?: JsonRpcErrorsArg<Data>,
138136
) => getJsonRpcError(errorCodes.rpc.transactionRejected, arg),
139137

@@ -143,7 +141,7 @@ export const rpcErrors = {
143141
* @param arg - The error message or options bag.
144142
* @returns An instance of the {@link JsonRpcError} class.
145143
*/
146-
methodNotSupported: <Data extends DataWithOptionalCause>(
144+
methodNotSupported: <Data extends OptionalDataWithOptionalCause>(
147145
arg?: JsonRpcErrorsArg<Data>,
148146
) => getJsonRpcError(errorCodes.rpc.methodNotSupported, arg),
149147

@@ -153,7 +151,7 @@ export const rpcErrors = {
153151
* @param arg - The error message or options bag.
154152
* @returns An instance of the {@link JsonRpcError} class.
155153
*/
156-
limitExceeded: <Data extends DataWithOptionalCause>(
154+
limitExceeded: <Data extends OptionalDataWithOptionalCause>(
157155
arg?: JsonRpcErrorsArg<Data>,
158156
) => getJsonRpcError(errorCodes.rpc.limitExceeded, arg),
159157
};
@@ -165,7 +163,7 @@ export const providerErrors = {
165163
* @param arg - The error message or options bag.
166164
* @returns An instance of the {@link EthereumProviderError} class.
167165
*/
168-
userRejectedRequest: <Data extends DataWithOptionalCause>(
166+
userRejectedRequest: <Data extends OptionalDataWithOptionalCause>(
169167
arg?: JsonRpcErrorsArg<Data>,
170168
) => {
171169
return getEthProviderError(errorCodes.provider.userRejectedRequest, arg);
@@ -177,7 +175,7 @@ export const providerErrors = {
177175
* @param arg - The error message or options bag.
178176
* @returns An instance of the {@link EthereumProviderError} class.
179177
*/
180-
unauthorized: <Data extends DataWithOptionalCause>(
178+
unauthorized: <Data extends OptionalDataWithOptionalCause>(
181179
arg?: JsonRpcErrorsArg<Data>,
182180
) => {
183181
return getEthProviderError(errorCodes.provider.unauthorized, arg);
@@ -189,7 +187,7 @@ export const providerErrors = {
189187
* @param arg - The error message or options bag.
190188
* @returns An instance of the {@link EthereumProviderError} class.
191189
*/
192-
unsupportedMethod: <Data extends DataWithOptionalCause>(
190+
unsupportedMethod: <Data extends OptionalDataWithOptionalCause>(
193191
arg?: JsonRpcErrorsArg<Data>,
194192
) => {
195193
return getEthProviderError(errorCodes.provider.unsupportedMethod, arg);
@@ -201,7 +199,7 @@ export const providerErrors = {
201199
* @param arg - The error message or options bag.
202200
* @returns An instance of the {@link EthereumProviderError} class.
203201
*/
204-
disconnected: <Data extends DataWithOptionalCause>(
202+
disconnected: <Data extends OptionalDataWithOptionalCause>(
205203
arg?: JsonRpcErrorsArg<Data>,
206204
) => {
207205
return getEthProviderError(errorCodes.provider.disconnected, arg);
@@ -213,7 +211,7 @@ export const providerErrors = {
213211
* @param arg - The error message or options bag.
214212
* @returns An instance of the {@link EthereumProviderError} class.
215213
*/
216-
chainDisconnected: <Data extends DataWithOptionalCause>(
214+
chainDisconnected: <Data extends OptionalDataWithOptionalCause>(
217215
arg?: JsonRpcErrorsArg<Data>,
218216
) => {
219217
return getEthProviderError(errorCodes.provider.chainDisconnected, arg);
@@ -225,7 +223,9 @@ export const providerErrors = {
225223
* @param opts - The error options bag.
226224
* @returns An instance of the {@link EthereumProviderError} class.
227225
*/
228-
custom: <Data extends DataWithOptionalCause>(opts: CustomErrorArg<Data>) => {
226+
custom: <Data extends OptionalDataWithOptionalCause>(
227+
opts: CustomErrorArg<Data>,
228+
) => {
229229
if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {
230230
throw new Error(
231231
'Ethereum Provider custom errors must provide single object argument.',
@@ -263,7 +263,7 @@ function getJsonRpcError<Data extends OptionalDataWithOptionalCause>(
263263
* @param arg - The error message or options bag.
264264
* @returns An instance of the {@link EthereumProviderError} class.
265265
*/
266-
function getEthProviderError<Data extends DataWithOptionalCause>(
266+
function getEthProviderError<Data extends OptionalDataWithOptionalCause>(
267267
code: number,
268268
arg?: JsonRpcErrorsArg<Data>,
269269
): EthereumProviderError<Data> {

0 commit comments

Comments
 (0)