Skip to content

Commit 9632f91

Browse files
authored
devDeps: @metamask/eslint-config* from v11 to v12 (#110)
* devDeps: @metamask/eslint-config* from v11 to v12 * devDeps: bump typedoc to support typescript 4.9 * lint: s/T/Data/ * lint:fix * jest-it-up * yarn dedupe * devDeps: dedupe @types/node
1 parent 9200551 commit 9632f91

6 files changed

Lines changed: 1044 additions & 495 deletions

File tree

jest.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ module.exports = {
4747
global: {
4848
branches: 94.31,
4949
functions: 94.11,
50-
lines: 97.13,
51-
statements: 97.13,
50+
lines: 97.15,
51+
statements: 97.15,
5252
},
5353
},
5454

package.json

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,27 +46,29 @@
4646
"@lavamoat/allow-scripts": "^2.3.1",
4747
"@lavamoat/preinstall-always-fail": "^1.0.0",
4848
"@metamask/auto-changelog": "^3.2.0",
49-
"@metamask/eslint-config": "^11.1.0",
50-
"@metamask/eslint-config-jest": "^11.1.0",
51-
"@metamask/eslint-config-nodejs": "^11.1.0",
52-
"@metamask/eslint-config-typescript": "^11.1.0",
49+
"@metamask/eslint-config": "^12.0.0",
50+
"@metamask/eslint-config-jest": "^12.0.0",
51+
"@metamask/eslint-config-nodejs": "^12.0.0",
52+
"@metamask/eslint-config-typescript": "^12.0.0",
5353
"@types/jest": "^28.1.6",
54-
"@typescript-eslint/eslint-plugin": "^5.42.1",
55-
"@typescript-eslint/parser": "^5.42.1",
54+
"@types/node": "^16",
55+
"@typescript-eslint/eslint-plugin": "^5.43.0",
56+
"@typescript-eslint/parser": "^5.43.0",
5657
"depcheck": "^1.4.5",
57-
"eslint": "^8.27.0",
58-
"eslint-config-prettier": "^8.5.0",
59-
"eslint-plugin-import": "^2.26.0",
60-
"eslint-plugin-jest": "^27.1.5",
61-
"eslint-plugin-jsdoc": "^39.6.2",
62-
"eslint-plugin-node": "^11.1.0",
58+
"eslint": "^8.44.0",
59+
"eslint-config-prettier": "^8.8.0",
60+
"eslint-plugin-import": "^2.27.5",
61+
"eslint-plugin-jest": "^27.2.2",
62+
"eslint-plugin-jsdoc": "^39.9.1",
63+
"eslint-plugin-n": "^15.7.0",
6364
"eslint-plugin-prettier": "^4.2.1",
65+
"eslint-plugin-promise": "^6.1.1",
6466
"jest": "^28.1.3",
6567
"jest-it-up": "^2.0.2",
6668
"prettier": "^2.7.1",
67-
"prettier-plugin-packagejson": "^2.2.18",
69+
"prettier-plugin-packagejson": "^2.3.0",
6870
"ts-jest": "^28.0.7",
69-
"typedoc": "^0.23.19",
71+
"typedoc": "^0.23.28",
7072
"typescript": "~4.9.5"
7173
},
7274
"packageManager": "yarn@3.2.4",

src/classes.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import {
2-
isPlainObject,
1+
import type {
32
Json,
43
JsonRpcError as SerializedJsonRpcError,
54
} from '@metamask/utils';
5+
import { isPlainObject } from '@metamask/utils';
66
import safeStringify from 'fast-safe-stringify';
77

88
import type { OptionalDataWithOptionalCause } from './utils';
@@ -17,13 +17,13 @@ export type { SerializedJsonRpcError };
1717
* Permits any integer error code.
1818
*/
1919
export class JsonRpcError<
20-
T extends OptionalDataWithOptionalCause,
20+
Data extends OptionalDataWithOptionalCause,
2121
> extends Error {
2222
public code: number;
2323

24-
public data?: T;
24+
public data?: Data;
2525

26-
constructor(code: number, message: string, data?: T) {
26+
constructor(code: number, message: string, data?: Data) {
2727
if (!Number.isInteger(code)) {
2828
throw new Error('"code" must be an integer.');
2929
}
@@ -84,8 +84,8 @@ export class JsonRpcError<
8484
* Permits integer error codes in the [ 1000 <= 4999 ] range.
8585
*/
8686
export class EthereumProviderError<
87-
T extends OptionalDataWithOptionalCause,
88-
> extends JsonRpcError<T> {
87+
Data extends OptionalDataWithOptionalCause,
88+
> extends JsonRpcError<Data> {
8989
/**
9090
* Create an Ethereum Provider JSON-RPC error.
9191
*
@@ -94,7 +94,7 @@ export class EthereumProviderError<
9494
* @param message - The JSON-RPC error message.
9595
* @param data - Optional data to include in the error.
9696
*/
97-
constructor(code: number, message: string, data?: T) {
97+
constructor(code: number, message: string, data?: Data) {
9898
if (!isValidEthProviderCode(code)) {
9999
throw new Error(
100100
'"code" must be an integer such that: 1000 <= code <= 4999',

src/errors.ts

Lines changed: 56 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
import { JsonRpcError, EthereumProviderError } from './classes';
22
import { errorCodes } from './error-constants';
3-
import { OptionalDataWithOptionalCause, getMessageFromCode } from './utils';
3+
import type { OptionalDataWithOptionalCause } from './utils';
4+
import { getMessageFromCode } from './utils';
45

5-
type EthereumErrorOptions<T extends OptionalDataWithOptionalCause> = {
6+
type EthereumErrorOptions<Data extends OptionalDataWithOptionalCause> = {
67
message?: string;
7-
data?: T;
8+
data?: Data;
89
};
910

10-
type ServerErrorOptions<T extends OptionalDataWithOptionalCause> = {
11+
type ServerErrorOptions<Data extends OptionalDataWithOptionalCause> = {
1112
code: number;
12-
} & EthereumErrorOptions<T>;
13+
} & EthereumErrorOptions<Data>;
1314

14-
type CustomErrorArg<T extends OptionalDataWithOptionalCause> =
15-
ServerErrorOptions<T>;
15+
type CustomErrorArg<Data extends OptionalDataWithOptionalCause> =
16+
ServerErrorOptions<Data>;
1617

17-
type JsonRpcErrorsArg<T extends OptionalDataWithOptionalCause> =
18-
| EthereumErrorOptions<T>
18+
type JsonRpcErrorsArg<Data extends OptionalDataWithOptionalCause> =
19+
| EthereumErrorOptions<Data>
1920
| string;
2021

2122
export const rpcErrors = {
@@ -25,17 +26,18 @@ export const rpcErrors = {
2526
* @param arg - The error message or options bag.
2627
* @returns An instance of the {@link JsonRpcError} class.
2728
*/
28-
parse: <T extends OptionalDataWithOptionalCause>(arg?: JsonRpcErrorsArg<T>) =>
29-
getJsonRpcError(errorCodes.rpc.parse, arg),
29+
parse: <Data extends OptionalDataWithOptionalCause>(
30+
arg?: JsonRpcErrorsArg<Data>,
31+
) => getJsonRpcError(errorCodes.rpc.parse, arg),
3032

3133
/**
3234
* Get a JSON RPC 2.0 Invalid Request (-32600) error.
3335
*
3436
* @param arg - The error message or options bag.
3537
* @returns An instance of the {@link JsonRpcError} class.
3638
*/
37-
invalidRequest: <T extends OptionalDataWithOptionalCause>(
38-
arg?: JsonRpcErrorsArg<T>,
39+
invalidRequest: <Data extends OptionalDataWithOptionalCause>(
40+
arg?: JsonRpcErrorsArg<Data>,
3941
) => getJsonRpcError(errorCodes.rpc.invalidRequest, arg),
4042

4143
/**
@@ -44,8 +46,8 @@ export const rpcErrors = {
4446
* @param arg - The error message or options bag.
4547
* @returns An instance of the {@link JsonRpcError} class.
4648
*/
47-
invalidParams: <T extends OptionalDataWithOptionalCause>(
48-
arg?: JsonRpcErrorsArg<T>,
49+
invalidParams: <Data extends OptionalDataWithOptionalCause>(
50+
arg?: JsonRpcErrorsArg<Data>,
4951
) => getJsonRpcError(errorCodes.rpc.invalidParams, arg),
5052

5153
/**
@@ -54,8 +56,8 @@ export const rpcErrors = {
5456
* @param arg - The error message or options bag.
5557
* @returns An instance of the {@link JsonRpcError} class.
5658
*/
57-
methodNotFound: <T extends OptionalDataWithOptionalCause>(
58-
arg?: JsonRpcErrorsArg<T>,
59+
methodNotFound: <Data extends OptionalDataWithOptionalCause>(
60+
arg?: JsonRpcErrorsArg<Data>,
5961
) => getJsonRpcError(errorCodes.rpc.methodNotFound, arg),
6062

6163
/**
@@ -64,8 +66,8 @@ export const rpcErrors = {
6466
* @param arg - The error message or options bag.
6567
* @returns An instance of the {@link JsonRpcError} class.
6668
*/
67-
internal: <T extends OptionalDataWithOptionalCause>(
68-
arg?: JsonRpcErrorsArg<T>,
69+
internal: <Data extends OptionalDataWithOptionalCause>(
70+
arg?: JsonRpcErrorsArg<Data>,
6971
) => getJsonRpcError(errorCodes.rpc.internal, arg),
7072

7173
/**
@@ -76,8 +78,8 @@ export const rpcErrors = {
7678
* @param opts - The error options bag.
7779
* @returns An instance of the {@link JsonRpcError} class.
7880
*/
79-
server: <T extends OptionalDataWithOptionalCause>(
80-
opts: ServerErrorOptions<T>,
81+
server: <Data extends OptionalDataWithOptionalCause>(
82+
opts: ServerErrorOptions<Data>,
8183
) => {
8284
if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {
8385
throw new Error(
@@ -99,8 +101,8 @@ export const rpcErrors = {
99101
* @param arg - The error message or options bag.
100102
* @returns An instance of the {@link JsonRpcError} class.
101103
*/
102-
invalidInput: <T extends OptionalDataWithOptionalCause>(
103-
arg?: JsonRpcErrorsArg<T>,
104+
invalidInput: <Data extends OptionalDataWithOptionalCause>(
105+
arg?: JsonRpcErrorsArg<Data>,
104106
) => getJsonRpcError(errorCodes.rpc.invalidInput, arg),
105107

106108
/**
@@ -109,8 +111,8 @@ export const rpcErrors = {
109111
* @param arg - The error message or options bag.
110112
* @returns An instance of the {@link JsonRpcError} class.
111113
*/
112-
resourceNotFound: <T extends OptionalDataWithOptionalCause>(
113-
arg?: JsonRpcErrorsArg<T>,
114+
resourceNotFound: <Data extends OptionalDataWithOptionalCause>(
115+
arg?: JsonRpcErrorsArg<Data>,
114116
) => getJsonRpcError(errorCodes.rpc.resourceNotFound, arg),
115117

116118
/**
@@ -119,8 +121,8 @@ export const rpcErrors = {
119121
* @param arg - The error message or options bag.
120122
* @returns An instance of the {@link JsonRpcError} class.
121123
*/
122-
resourceUnavailable: <T extends OptionalDataWithOptionalCause>(
123-
arg?: JsonRpcErrorsArg<T>,
124+
resourceUnavailable: <Data extends OptionalDataWithOptionalCause>(
125+
arg?: JsonRpcErrorsArg<Data>,
124126
) => getJsonRpcError(errorCodes.rpc.resourceUnavailable, arg),
125127

126128
/**
@@ -129,8 +131,8 @@ export const rpcErrors = {
129131
* @param arg - The error message or options bag.
130132
* @returns An instance of the {@link JsonRpcError} class.
131133
*/
132-
transactionRejected: <T extends OptionalDataWithOptionalCause>(
133-
arg?: JsonRpcErrorsArg<T>,
134+
transactionRejected: <Data extends OptionalDataWithOptionalCause>(
135+
arg?: JsonRpcErrorsArg<Data>,
134136
) => getJsonRpcError(errorCodes.rpc.transactionRejected, arg),
135137

136138
/**
@@ -139,8 +141,8 @@ export const rpcErrors = {
139141
* @param arg - The error message or options bag.
140142
* @returns An instance of the {@link JsonRpcError} class.
141143
*/
142-
methodNotSupported: <T extends OptionalDataWithOptionalCause>(
143-
arg?: JsonRpcErrorsArg<T>,
144+
methodNotSupported: <Data extends OptionalDataWithOptionalCause>(
145+
arg?: JsonRpcErrorsArg<Data>,
144146
) => getJsonRpcError(errorCodes.rpc.methodNotSupported, arg),
145147

146148
/**
@@ -149,8 +151,8 @@ export const rpcErrors = {
149151
* @param arg - The error message or options bag.
150152
* @returns An instance of the {@link JsonRpcError} class.
151153
*/
152-
limitExceeded: <T extends OptionalDataWithOptionalCause>(
153-
arg?: JsonRpcErrorsArg<T>,
154+
limitExceeded: <Data extends OptionalDataWithOptionalCause>(
155+
arg?: JsonRpcErrorsArg<Data>,
154156
) => getJsonRpcError(errorCodes.rpc.limitExceeded, arg),
155157
};
156158

@@ -161,8 +163,8 @@ export const providerErrors = {
161163
* @param arg - The error message or options bag.
162164
* @returns An instance of the {@link EthereumProviderError} class.
163165
*/
164-
userRejectedRequest: <T extends OptionalDataWithOptionalCause>(
165-
arg?: JsonRpcErrorsArg<T>,
166+
userRejectedRequest: <Data extends OptionalDataWithOptionalCause>(
167+
arg?: JsonRpcErrorsArg<Data>,
166168
) => {
167169
return getEthProviderError(errorCodes.provider.userRejectedRequest, arg);
168170
},
@@ -173,8 +175,8 @@ export const providerErrors = {
173175
* @param arg - The error message or options bag.
174176
* @returns An instance of the {@link EthereumProviderError} class.
175177
*/
176-
unauthorized: <T extends OptionalDataWithOptionalCause>(
177-
arg?: JsonRpcErrorsArg<T>,
178+
unauthorized: <Data extends OptionalDataWithOptionalCause>(
179+
arg?: JsonRpcErrorsArg<Data>,
178180
) => {
179181
return getEthProviderError(errorCodes.provider.unauthorized, arg);
180182
},
@@ -185,8 +187,8 @@ export const providerErrors = {
185187
* @param arg - The error message or options bag.
186188
* @returns An instance of the {@link EthereumProviderError} class.
187189
*/
188-
unsupportedMethod: <T extends OptionalDataWithOptionalCause>(
189-
arg?: JsonRpcErrorsArg<T>,
190+
unsupportedMethod: <Data extends OptionalDataWithOptionalCause>(
191+
arg?: JsonRpcErrorsArg<Data>,
190192
) => {
191193
return getEthProviderError(errorCodes.provider.unsupportedMethod, arg);
192194
},
@@ -197,8 +199,8 @@ export const providerErrors = {
197199
* @param arg - The error message or options bag.
198200
* @returns An instance of the {@link EthereumProviderError} class.
199201
*/
200-
disconnected: <T extends OptionalDataWithOptionalCause>(
201-
arg?: JsonRpcErrorsArg<T>,
202+
disconnected: <Data extends OptionalDataWithOptionalCause>(
203+
arg?: JsonRpcErrorsArg<Data>,
202204
) => {
203205
return getEthProviderError(errorCodes.provider.disconnected, arg);
204206
},
@@ -209,8 +211,8 @@ export const providerErrors = {
209211
* @param arg - The error message or options bag.
210212
* @returns An instance of the {@link EthereumProviderError} class.
211213
*/
212-
chainDisconnected: <T extends OptionalDataWithOptionalCause>(
213-
arg?: JsonRpcErrorsArg<T>,
214+
chainDisconnected: <Data extends OptionalDataWithOptionalCause>(
215+
arg?: JsonRpcErrorsArg<Data>,
214216
) => {
215217
return getEthProviderError(errorCodes.provider.chainDisconnected, arg);
216218
},
@@ -221,8 +223,8 @@ export const providerErrors = {
221223
* @param opts - The error options bag.
222224
* @returns An instance of the {@link EthereumProviderError} class.
223225
*/
224-
custom: <T extends OptionalDataWithOptionalCause>(
225-
opts: CustomErrorArg<T>,
226+
custom: <Data extends OptionalDataWithOptionalCause>(
227+
opts: CustomErrorArg<Data>,
226228
) => {
227229
if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {
228230
throw new Error(
@@ -246,10 +248,10 @@ export const providerErrors = {
246248
* @param arg - The error message or options bag.
247249
* @returns An instance of the {@link JsonRpcError} class.
248250
*/
249-
function getJsonRpcError<T extends OptionalDataWithOptionalCause>(
251+
function getJsonRpcError<Data extends OptionalDataWithOptionalCause>(
250252
code: number,
251-
arg?: JsonRpcErrorsArg<T>,
252-
): JsonRpcError<T> {
253+
arg?: JsonRpcErrorsArg<Data>,
254+
): JsonRpcError<Data> {
253255
const [message, data] = parseOpts(arg);
254256
return new JsonRpcError(code, message ?? getMessageFromCode(code), data);
255257
}
@@ -261,10 +263,10 @@ function getJsonRpcError<T extends OptionalDataWithOptionalCause>(
261263
* @param arg - The error message or options bag.
262264
* @returns An instance of the {@link EthereumProviderError} class.
263265
*/
264-
function getEthProviderError<T extends OptionalDataWithOptionalCause>(
266+
function getEthProviderError<Data extends OptionalDataWithOptionalCause>(
265267
code: number,
266-
arg?: JsonRpcErrorsArg<T>,
267-
): EthereumProviderError<T> {
268+
arg?: JsonRpcErrorsArg<Data>,
269+
): EthereumProviderError<Data> {
268270
const [message, data] = parseOpts(arg);
269271
return new EthereumProviderError(
270272
code,
@@ -279,9 +281,9 @@ function getEthProviderError<T extends OptionalDataWithOptionalCause>(
279281
* @param arg - The error message or options bag.
280282
* @returns A tuple containing the error message and optional data.
281283
*/
282-
function parseOpts<T extends OptionalDataWithOptionalCause>(
283-
arg?: JsonRpcErrorsArg<T>,
284-
): [message?: string | undefined, data?: T | undefined] {
284+
function parseOpts<Data extends OptionalDataWithOptionalCause>(
285+
arg?: JsonRpcErrorsArg<Data>,
286+
): [message?: string | undefined, data?: Data | undefined] {
285287
if (arg) {
286288
if (typeof arg === 'string') {
287289
return [arg];

src/utils.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1+
import type {
2+
Json,
3+
JsonRpcError as SerializedJsonRpcError,
4+
RuntimeObject,
5+
} from '@metamask/utils';
16
import {
27
hasProperty,
38
isValidJson,
49
isObject,
510
isJsonRpcError,
6-
Json,
7-
JsonRpcError as SerializedJsonRpcError,
8-
RuntimeObject,
911
} from '@metamask/utils';
1012

1113
import { errorCodes, errorValues } from './error-constants';

0 commit comments

Comments
 (0)