@nomicfoundation/hardhat-utils 4.0.1 → 4.0.3
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/CHANGELOG.md +18 -0
- package/dist/src/bytes.d.ts +18 -0
- package/dist/src/bytes.d.ts.map +1 -1
- package/dist/src/bytes.js +50 -0
- package/dist/src/bytes.js.map +1 -1
- package/dist/src/ci.d.ts +1 -1
- package/dist/src/ci.js +1 -1
- package/dist/src/env.d.ts +1 -1
- package/dist/src/env.d.ts.map +1 -1
- package/dist/src/format.d.ts +1 -0
- package/dist/src/format.d.ts.map +1 -1
- package/dist/src/format.js +7 -0
- package/dist/src/format.js.map +1 -1
- package/dist/src/internal/bytes.d.ts +16 -0
- package/dist/src/internal/bytes.d.ts.map +1 -0
- package/dist/src/internal/bytes.js +33 -0
- package/dist/src/internal/bytes.js.map +1 -0
- package/dist/src/internal/format.d.ts.map +1 -1
- package/dist/src/internal/format.js +4 -0
- package/dist/src/internal/format.js.map +1 -1
- package/dist/src/internal/global-dir.d.ts +1 -1
- package/dist/src/internal/global-dir.d.ts.map +1 -1
- package/dist/src/internal/global-dir.js +1 -1
- package/dist/src/internal/global-dir.js.map +1 -1
- package/dist/src/internal/lang.d.ts +3 -3
- package/dist/src/internal/lang.d.ts.map +1 -1
- package/dist/src/internal/lang.js +5 -5
- package/dist/src/internal/lang.js.map +1 -1
- package/dist/src/internal/request.d.ts +1 -1
- package/dist/src/internal/request.d.ts.map +1 -1
- package/dist/src/internal/request.js +19 -8
- package/dist/src/internal/request.js.map +1 -1
- package/dist/src/lang.js +1 -1
- package/dist/src/lang.js.map +1 -1
- package/dist/src/request.d.ts +1 -1
- package/dist/src/request.d.ts.map +1 -1
- package/dist/src/request.js +19 -8
- package/dist/src/request.js.map +1 -1
- package/dist/src/string.d.ts +7 -0
- package/dist/src/string.d.ts.map +1 -1
- package/dist/src/string.js +9 -0
- package/dist/src/string.js.map +1 -1
- package/package.json +5 -5
- package/src/bytes.ts +58 -0
- package/src/ci.ts +1 -1
- package/src/env.ts +1 -1
- package/src/format.ts +10 -0
- package/src/internal/bytes.ts +32 -0
- package/src/internal/format.ts +4 -0
- package/src/internal/global-dir.ts +1 -2
- package/src/internal/lang.ts +6 -9
- package/src/internal/request.ts +22 -9
- package/src/lang.ts +1 -1
- package/src/request.ts +21 -9
- package/src/string.ts +10 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @nomicfoundation/hardhat-utils
|
|
2
2
|
|
|
3
|
+
## 4.0.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#8096](https://github.com/NomicFoundation/hardhat/pull/8096) [`7fb721b`](https://github.com/NomicFoundation/hardhat/commit/7fb721bb2b1c521d0073a156f361c60a049e8fdf) Thanks [@alcuadrado](https://github.com/alcuadrado)! - [chore] Move to packages/ folder.
|
|
8
|
+
|
|
9
|
+
- [#8119](https://github.com/NomicFoundation/hardhat/pull/8119) [`ff5a97e`](https://github.com/NomicFoundation/hardhat/commit/ff5a97e32468b0f841dc8a530ba8c2aac91a5c22) Thanks [@schaable](https://github.com/schaable)! - Show proxy chain information in --gas-stats and --gas-stats-json output
|
|
10
|
+
|
|
11
|
+
## 4.0.2
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#7983](https://github.com/NomicFoundation/hardhat/pull/7983) [`8e194d0`](https://github.com/NomicFoundation/hardhat/commit/8e194d0899bf9a74d9cacf84e289e41ed3966c14) Thanks [@ChristopherDedominici](https://github.com/ChristopherDedominici)! - Added `--verbosity` (and `-v`, `-vv`, and the other shorthands) to all tasks, including TypeScript tests ([7983](https://github.com/NomicFoundation/hardhat/pull/7983)), ([7963](https://github.com/NomicFoundation/hardhat/issues/7963)).
|
|
16
|
+
|
|
17
|
+
- [#8073](https://github.com/NomicFoundation/hardhat/pull/8073) [`dfe4ffe`](https://github.com/NomicFoundation/hardhat/commit/dfe4ffeb57b97419ae0cca8929c9bd9c25912dbe) Thanks [@schaable](https://github.com/schaable)! - Add support for per-test inline configuration in solidity tests.
|
|
18
|
+
|
|
19
|
+
- [#8088](https://github.com/NomicFoundation/hardhat/pull/8088) [`23c0d36`](https://github.com/NomicFoundation/hardhat/commit/23c0d3658f29305bf0adbbce4644a54d7ef22550) Thanks [@alcuadrado](https://github.com/alcuadrado)! - Optimize imports.
|
|
20
|
+
|
|
3
21
|
## 4.0.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/dist/src/bytes.d.ts
CHANGED
|
@@ -29,6 +29,24 @@ export declare function equalsBytes(x: Uint8Array, y: Uint8Array): boolean;
|
|
|
29
29
|
* @returns A Uint8Array representing the byte sequence of the input UTF-8 string.
|
|
30
30
|
*/
|
|
31
31
|
export declare function utf8StringToBytes(utf8String: string): Uint8Array;
|
|
32
|
+
/**
|
|
33
|
+
* Converts a Uint8Array of UTF-8 encoded bytes into a string.
|
|
34
|
+
*
|
|
35
|
+
* @param bytes The UTF-8 encoded byte array to convert.
|
|
36
|
+
* @returns The decoded UTF-8 string.
|
|
37
|
+
*/
|
|
38
|
+
export declare function bytesToUtf8String(bytes: Uint8Array): string;
|
|
39
|
+
/**
|
|
40
|
+
* Checks whether a Uint8Array contains the UTF-8 byte sequence of a given
|
|
41
|
+
* string. Searches the raw bytes without allocating a full string for the
|
|
42
|
+
* haystack. Uses the Knuth-Morris-Pratt (KMP) algorithm for efficient
|
|
43
|
+
* searching.
|
|
44
|
+
*
|
|
45
|
+
* @param haystack The Uint8Array to search in.
|
|
46
|
+
* @param needle The string whose UTF-8 encoding to search for.
|
|
47
|
+
* @returns True if the needle's byte sequence is found in the haystack.
|
|
48
|
+
*/
|
|
49
|
+
export declare function bytesIncludesUtf8String(haystack: Uint8Array, needle: string): boolean;
|
|
32
50
|
export { bytesToBigInt, bytesToNumber, numberToBytes } from "./number.js";
|
|
33
51
|
export { bytesToHexString, hexStringToBytes } from "./hex.js";
|
|
34
52
|
//# sourceMappingURL=bytes.d.ts.map
|
package/dist/src/bytes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAQ3E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CA+BT;AAED,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/src/bytes.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { buildLpsTable } from "./internal/bytes.js";
|
|
1
2
|
/**
|
|
2
3
|
* Checks if a value is an instance of Uint8Array.
|
|
3
4
|
*
|
|
@@ -42,6 +43,55 @@ export function equalsBytes(x, y) {
|
|
|
42
43
|
export function utf8StringToBytes(utf8String) {
|
|
43
44
|
return new TextEncoder().encode(utf8String);
|
|
44
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Converts a Uint8Array of UTF-8 encoded bytes into a string.
|
|
48
|
+
*
|
|
49
|
+
* @param bytes The UTF-8 encoded byte array to convert.
|
|
50
|
+
* @returns The decoded UTF-8 string.
|
|
51
|
+
*/
|
|
52
|
+
export function bytesToUtf8String(bytes) {
|
|
53
|
+
return new TextDecoder().decode(bytes);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Checks whether a Uint8Array contains the UTF-8 byte sequence of a given
|
|
57
|
+
* string. Searches the raw bytes without allocating a full string for the
|
|
58
|
+
* haystack. Uses the Knuth-Morris-Pratt (KMP) algorithm for efficient
|
|
59
|
+
* searching.
|
|
60
|
+
*
|
|
61
|
+
* @param haystack The Uint8Array to search in.
|
|
62
|
+
* @param needle The string whose UTF-8 encoding to search for.
|
|
63
|
+
* @returns True if the needle's byte sequence is found in the haystack.
|
|
64
|
+
*/
|
|
65
|
+
export function bytesIncludesUtf8String(haystack, needle) {
|
|
66
|
+
if (needle.length === 0) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
const needleBytes = utf8StringToBytes(needle);
|
|
70
|
+
const needleLen = needleBytes.length;
|
|
71
|
+
const haystackLen = haystack.length;
|
|
72
|
+
if (needleLen > haystackLen) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
const lps = buildLpsTable(needleBytes);
|
|
76
|
+
let haystackI = 0;
|
|
77
|
+
let needleI = 0;
|
|
78
|
+
while (haystackI < haystackLen) {
|
|
79
|
+
if (haystack[haystackI] === needleBytes[needleI]) {
|
|
80
|
+
haystackI++;
|
|
81
|
+
needleI++;
|
|
82
|
+
if (needleI === needleLen) {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (needleI > 0) {
|
|
87
|
+
needleI = lps[needleI - 1];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
haystackI++;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
45
95
|
export { bytesToBigInt, bytesToNumber, numberToBytes } from "./number.js";
|
|
46
96
|
export { bytesToHexString, hexStringToBytes } from "./hex.js";
|
|
47
97
|
//# sourceMappingURL=bytes.js.map
|
package/dist/src/bytes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,UAAU,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,MAAc;IAC7D,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,CAAa,EAAE,CAAa;IACtD,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,UAAU,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,MAAc;IAC7D,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,CAAa,EAAE,CAAa;IACtD,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IACjD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAoB,EACpB,MAAc;IAEd,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;IACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAI,SAAS,GAAG,WAAW,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,SAAS,GAAG,WAAW,EAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/src/ci.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* IMPORTANT: A copy of this function exists in `
|
|
2
|
+
* IMPORTANT: A copy of this function exists in `packages/hardhat-node-test-reporter/src/ci.ts`.
|
|
3
3
|
* If you change this function, you must also change the copy.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
package/dist/src/ci.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* IMPORTANT: A copy of this function exists in `
|
|
2
|
+
* IMPORTANT: A copy of this function exists in `packages/hardhat-node-test-reporter/src/ci.ts`.
|
|
3
3
|
* If you change this function, you must also change the copy.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
package/dist/src/env.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @param globalOptions An object containing the resolved global options,
|
|
5
5
|
* with each option adhering to its definition in the globalOptionDefinitions.
|
|
6
6
|
*/
|
|
7
|
-
export declare function setGlobalOptionsAsEnvVariables<T extends Record<keyof T, string | boolean>>(globalOptions: T): void;
|
|
7
|
+
export declare function setGlobalOptionsAsEnvVariables<T extends Record<keyof T, string | boolean | number | undefined>>(globalOptions: T): void;
|
|
8
8
|
/**
|
|
9
9
|
* Converts a global option name to its corresponding environment variable name.
|
|
10
10
|
* The conversion involves transforming the option name from camelCase to
|
package/dist/src/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,EAChE,aAAa,EAAE,CAAC,GAAG,IAAI,CAQxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAAC,gBAAgB,EAAE,MAAM,UAE1E"}
|
package/dist/src/format.d.ts
CHANGED
package/dist/src/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,kBAAkB,GAClB,WAAW,GACX,QAAQ,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAyGtD"}
|
package/dist/src/format.js
CHANGED
|
@@ -91,6 +91,13 @@ export function formatTable(items) {
|
|
|
91
91
|
const headerActualLength = current.text.length;
|
|
92
92
|
const paddedHeader = current.text.padEnd(tableWidth - 2 + (headerActualLength - headerDisplayWidth));
|
|
93
93
|
lines.push("║ " + paddedHeader + " ║");
|
|
94
|
+
if (current.subtitle !== undefined) {
|
|
95
|
+
const subtitleText = " " + current.subtitle;
|
|
96
|
+
const subtitleDisplayWidth = getStringWidth(subtitleText);
|
|
97
|
+
const subtitleActualLength = subtitleText.length;
|
|
98
|
+
const paddedSubtitle = subtitleText.padEnd(tableWidth - 2 + (subtitleActualLength - subtitleDisplayWidth));
|
|
99
|
+
lines.push("║ " + paddedSubtitle + " ║");
|
|
100
|
+
}
|
|
94
101
|
inSection = true;
|
|
95
102
|
}
|
|
96
103
|
else if (current.type === "header") {
|
package/dist/src/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds the LPS (Longest Prefix Suffix) table used by the Knuth-Morris-Pratt
|
|
3
|
+
* string search algorithm. For each index `i` in the pattern, `lps[i]` holds
|
|
4
|
+
* the length of the longest prefix of `pattern[0..i]` that is also a suffix
|
|
5
|
+
* of that substring.
|
|
6
|
+
*
|
|
7
|
+
* For example, given the pattern `ABCABD`, the substring at index 4 is
|
|
8
|
+
* `ABCAB`. Its prefixes include `A`, `AB`, `ABC`, `ABCA` and its suffixes
|
|
9
|
+
* include `B`, `AB`, `CAB`, `BCAB`. The longest prefix that is also a
|
|
10
|
+
* suffix is `AB` (length 2), so `lps[4] = 2`.
|
|
11
|
+
*
|
|
12
|
+
* @param pattern The pattern to build the table for.
|
|
13
|
+
* @returns An array where entry `i` is the LPS length for `pattern[0..i]`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildLpsTable(pattern: Uint8Array): number[];
|
|
16
|
+
//# sourceMappingURL=bytes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../../src/internal/bytes.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAgB3D"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// cSpell:ignore ABCAB ABCA BCAB
|
|
2
|
+
/**
|
|
3
|
+
* Builds the LPS (Longest Prefix Suffix) table used by the Knuth-Morris-Pratt
|
|
4
|
+
* string search algorithm. For each index `i` in the pattern, `lps[i]` holds
|
|
5
|
+
* the length of the longest prefix of `pattern[0..i]` that is also a suffix
|
|
6
|
+
* of that substring.
|
|
7
|
+
*
|
|
8
|
+
* For example, given the pattern `ABCABD`, the substring at index 4 is
|
|
9
|
+
* `ABCAB`. Its prefixes include `A`, `AB`, `ABC`, `ABCA` and its suffixes
|
|
10
|
+
* include `B`, `AB`, `CAB`, `BCAB`. The longest prefix that is also a
|
|
11
|
+
* suffix is `AB` (length 2), so `lps[4] = 2`.
|
|
12
|
+
*
|
|
13
|
+
* @param pattern The pattern to build the table for.
|
|
14
|
+
* @returns An array where entry `i` is the LPS length for `pattern[0..i]`.
|
|
15
|
+
*/
|
|
16
|
+
export function buildLpsTable(pattern) {
|
|
17
|
+
const lps = new Array(pattern.length).fill(0);
|
|
18
|
+
let matchLen = 0;
|
|
19
|
+
let i = 1;
|
|
20
|
+
while (i < pattern.length) {
|
|
21
|
+
if (pattern[i] === pattern[matchLen]) {
|
|
22
|
+
lps[i++] = ++matchLen;
|
|
23
|
+
}
|
|
24
|
+
else if (matchLen > 0) {
|
|
25
|
+
matchLen = lps[matchLen - 1];
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
lps[i++] = 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return lps;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=bytes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../../src/internal/bytes.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,OAAmB;IAC/C,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;QACxB,CAAC;aAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACxB,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/internal/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAY5D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAM9D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/internal/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAY5D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAM9D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAY1D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,MAAM,CAIR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,MAAM,EAAE,EACtB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAmCR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EAAE,EACtB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,OAAO,GACvB,MAAM,CA2BR;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EAAE,EACtB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAkBR;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EAAE,EACtB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAcR"}
|
|
@@ -50,6 +50,10 @@ export function getHeadingWidth(items) {
|
|
|
50
50
|
if (item.type === "section-header" || item.type === "title") {
|
|
51
51
|
headingWidth = Math.max(headingWidth, getStringWidth(item.text) + 2);
|
|
52
52
|
}
|
|
53
|
+
if (item.type === "section-header" && item.subtitle !== undefined) {
|
|
54
|
+
// +4 accounts for "║ " prefix (2) and " " indent (2)
|
|
55
|
+
headingWidth = Math.max(headingWidth, getStringWidth(item.subtitle) + 4);
|
|
56
|
+
}
|
|
53
57
|
}
|
|
54
58
|
return headingWidth;
|
|
55
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/internal/format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/internal/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-dir.d.ts","sourceRoot":"","sources":["../../../src/internal/global-dir.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"global-dir.d.ts","sourceRoot":"","sources":["../../../src/internal/global-dir.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAEzB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import envPaths from "env-paths";
|
|
1
2
|
export const HARDHAT_PACKAGE_NAME = "hardhat";
|
|
2
3
|
export async function generatePaths(packageName) {
|
|
3
|
-
const { default: envPaths } = await import("env-paths");
|
|
4
4
|
return envPaths(packageName);
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=global-dir.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-dir.js","sourceRoot":"","sources":["../../../src/internal/global-dir.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"global-dir.js","sourceRoot":"","sources":["../../../src/internal/global-dir.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB;IAEnB,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export declare function getDeepCloneFunction():
|
|
1
|
+
export declare function getDeepCloneFunction(): <T>(input: T) => T;
|
|
2
2
|
export declare function deepMergeImpl<T extends object, S extends object>(target: T, source: S, shouldOverwriteUndefined: boolean): T & S;
|
|
3
3
|
/**
|
|
4
4
|
* Performs a custom deep equality check using `fast-equals` with specific overrides.
|
|
5
5
|
*
|
|
6
6
|
* @param x The first value to compare.
|
|
7
7
|
* @param y The second value to compare.
|
|
8
|
-
* @returns
|
|
8
|
+
* @returns True if the values are deeply equal, false otherwise.
|
|
9
9
|
*/
|
|
10
|
-
export declare function customFastEqual<T>(x: T, y: T):
|
|
10
|
+
export declare function customFastEqual<T>(x: T, y: T): boolean;
|
|
11
11
|
//# sourceMappingURL=lang.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../../src/internal/lang.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../../src/internal/lang.ts"],"names":[],"mappings":"AAMA,wBAAgB,oBAAoB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAMzD;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC9D,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,wBAAwB,EAAE,OAAO,GAChC,CAAC,GAAG,CAAC,CAmCP;AAID;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAuBtD"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { createCustomEqual } from "fast-equals";
|
|
2
|
+
import rfdc from "rfdc";
|
|
1
3
|
import { isObject } from "../lang.js";
|
|
2
4
|
let clone = null;
|
|
3
|
-
export
|
|
4
|
-
const { default: rfdc } = await import("rfdc");
|
|
5
|
+
export function getDeepCloneFunction() {
|
|
5
6
|
if (clone === null) {
|
|
6
7
|
clone = rfdc();
|
|
7
8
|
}
|
|
@@ -42,13 +43,12 @@ let cachedCustomEqual;
|
|
|
42
43
|
*
|
|
43
44
|
* @param x The first value to compare.
|
|
44
45
|
* @param y The second value to compare.
|
|
45
|
-
* @returns
|
|
46
|
+
* @returns True if the values are deeply equal, false otherwise.
|
|
46
47
|
*/
|
|
47
|
-
export
|
|
48
|
+
export function customFastEqual(x, y) {
|
|
48
49
|
if (cachedCustomEqual !== undefined) {
|
|
49
50
|
return cachedCustomEqual(x, y);
|
|
50
51
|
}
|
|
51
|
-
const { createCustomEqual } = await import("fast-equals");
|
|
52
52
|
cachedCustomEqual = createCustomEqual({
|
|
53
53
|
createCustomConfig: (defaultConfig) => ({
|
|
54
54
|
areTypedArraysEqual: (a, b, state) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../src/internal/lang.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../src/internal/lang.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,IAAI,KAAK,GAAmC,IAAI,CAAC;AACjD,MAAM,UAAU,oBAAoB;IAClC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,KAAK,GAAG,IAAI,EAAE,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAS,EACT,MAAS,EACT,wBAAiC;IAEjC;kFAC8E;IAC9E,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAW,CAAC;IAEtC;0FACsF;IACtF,MAAM,IAAI,GAAG;QACX,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACtB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC;KACtB,CAAC;IAEpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IACE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,gDAAgD;YAChD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,EACvD,CAAC;YACD;+FACmF;YACnF,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CACzB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;YACjB;yEAC6D;YAC7D,MAAM,CAAC,GAAG,CAAM,EAChB,wBAAwB,CACY,CAAC;QACzC,CAAC;aAAM,IAAI,wBAAwB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACjE;+FACmF;YACnF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAsC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,IAAI,iBAAoE,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAI,CAAI,EAAE,CAAI;IAC3C,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,iBAAiB,GAAG,iBAAiB,CAAC;QACpC,kBAAkB,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YACtC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;gBACnC,2EAA2E;gBAC3E,4EAA4E;gBAC5E,6EAA6E;gBAC7E,mDAAmD;gBACnD,kDAAkD;gBAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,CAAC;gBAED,OAAO,aAAa,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;SACF,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DispatcherOptions, RequestOptions } from "../request.js";
|
|
2
2
|
import type EventEmitter from "node:events";
|
|
3
|
-
import type UndiciT from "undici";
|
|
3
|
+
import type * as UndiciT from "undici";
|
|
4
4
|
export declare function generateTempFilePath(filePath: string): Promise<string>;
|
|
5
5
|
export declare function getBaseRequestOptions(requestUrl: string, { extraHeaders, abortSignal, queryParams }?: RequestOptions, dispatcherOrDispatcherOptions?: UndiciT.Dispatcher | DispatcherOptions): Promise<{
|
|
6
6
|
query?: Record<string, any> | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/internal/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/internal/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,KAAK,OAAO,MAAM,QAAQ,CAAC;AAqBvC,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU5E;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,GAAE,cAAmB,EAC/D,6BAA6B,CAAC,EAAE,OAAO,CAAC,UAAU,GAAG,iBAAiB,GACrE,OAAO,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IACxC,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;IAChD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,IAAI,CAAC;CACpB,CAAC,CAoBD;AAED,wBAAgB,UAAU,CACxB,UAAU,EAAE,MAAM,EAClB,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACxC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASpE;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,GAC/C,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAS7B;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,GAC5B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAOvB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,GAC7B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAMxB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,MAAwC,EACjD,gBAAgB,GAAE,OAAe,GAChC,OAAO,CAAC,MAAM,CAAC,OAAO,CAcxB;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAsB9D"}
|
|
@@ -3,6 +3,9 @@ import path from "node:path";
|
|
|
3
3
|
import { mkdir } from "../fs.js";
|
|
4
4
|
import { isObject } from "../lang.js";
|
|
5
5
|
import { ConnectionRefusedError, DEFAULT_MAX_REDIRECTS, DEFAULT_TIMEOUT_IN_MILLISECONDS, DEFAULT_USER_AGENT, getDispatcher, RequestTimeoutError, ResponseStatusCodeError, } from "../request.js";
|
|
6
|
+
// We don't load undici on startup because this package is transitively imported
|
|
7
|
+
// from too many places and it's too complex to optimize case by case.
|
|
8
|
+
let undici;
|
|
6
9
|
export async function generateTempFilePath(filePath) {
|
|
7
10
|
const { dir, ext, name } = path.parse(filePath);
|
|
8
11
|
await mkdir(dir);
|
|
@@ -13,8 +16,10 @@ export async function generateTempFilePath(filePath) {
|
|
|
13
16
|
});
|
|
14
17
|
}
|
|
15
18
|
export async function getBaseRequestOptions(requestUrl, { extraHeaders, abortSignal, queryParams } = {}, dispatcherOrDispatcherOptions) {
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
if (undici === undefined) {
|
|
20
|
+
undici = await import("undici");
|
|
21
|
+
}
|
|
22
|
+
const dispatcher = dispatcherOrDispatcherOptions instanceof undici.Dispatcher
|
|
18
23
|
? dispatcherOrDispatcherOptions
|
|
19
24
|
: await getDispatcher(requestUrl, dispatcherOrDispatcherOptions);
|
|
20
25
|
// We could use the global dispatcher if neither dispatcher nor dispatcherOptions were passed,
|
|
@@ -47,20 +52,26 @@ export function getAuthHeader(requestUrl) {
|
|
|
47
52
|
return `Basic ${Buffer.from(`${parsedUrl.username}:${parsedUrl.password}`).toString("base64")}`;
|
|
48
53
|
}
|
|
49
54
|
export async function getProxyDispatcher(proxy, options) {
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
if (undici === undefined) {
|
|
56
|
+
undici = await import("undici");
|
|
57
|
+
}
|
|
58
|
+
return new undici.ProxyAgent({
|
|
52
59
|
uri: proxy,
|
|
53
60
|
...options,
|
|
54
61
|
});
|
|
55
62
|
}
|
|
56
63
|
export async function getPoolDispatcher(requestUrl, options) {
|
|
57
|
-
|
|
64
|
+
if (undici === undefined) {
|
|
65
|
+
undici = await import("undici");
|
|
66
|
+
}
|
|
58
67
|
const parsedUrl = new URL(requestUrl);
|
|
59
|
-
return new Pool(parsedUrl.origin, options);
|
|
68
|
+
return new undici.Pool(parsedUrl.origin, options);
|
|
60
69
|
}
|
|
61
70
|
export async function getBasicDispatcher(options) {
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
if (undici === undefined) {
|
|
72
|
+
undici = await import("undici");
|
|
73
|
+
}
|
|
74
|
+
return new undici.Agent(options);
|
|
64
75
|
}
|
|
65
76
|
export function getBaseDispatcherOptions(timeout = DEFAULT_TIMEOUT_IN_MILLISECONDS, isTestDispatcher = false) {
|
|
66
77
|
// These have good defaults for production, but need to be tweaked to avoid hanging tests.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/internal/request.ts"],"names":[],"mappings":"AAIA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,EAC/B,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjB,OAAO,IAAI,CAAC,MAAM,CAAC;QACjB,GAAG;QACH,GAAG;QACH,IAAI,EAAE,OAAO,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;KAC7D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAkB,EAClB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,KAAqB,EAAE,EAC/D,6BAAsE;IAQtE,MAAM,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/internal/request.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lang.js
CHANGED
|
@@ -6,7 +6,7 @@ import { customFastEqual, deepMergeImpl, getDeepCloneFunction, } from "./interna
|
|
|
6
6
|
* @returns The deep clone of the provided value.
|
|
7
7
|
*/
|
|
8
8
|
export async function deepClone(value) {
|
|
9
|
-
const _deepClone =
|
|
9
|
+
const _deepClone = getDeepCloneFunction();
|
|
10
10
|
return _deepClone(value);
|
|
11
11
|
}
|
|
12
12
|
/**
|
package/dist/src/lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/lang.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,KAAQ;IACzC,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/lang.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,KAAQ;IACzC,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAE1C,OAAO,UAAU,CAAI,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,CAAI,EAAE,CAAI;IAC3C,OAAO,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,SAAS,CACvB,MAAS,EACT,MAAS,EACT,2BAAoC,IAAI;IAExC,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAc;IAEd,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAe;IACzC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAyB,GAAY;IACjE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,aAAa,GACjB,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,MAAM,IAAI,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpE;wEACoE;IACpE,MAAM,QAAQ,GAAG,GAAU,CAAC;IAE5B,2FAA2F;IAC3F,MAAM,gBAAgB,GAAG;QACvB,aAAa;QACb,gBAAgB;QAChB,eAAe;QACf,sBAAsB;QACtB,gBAAgB;QAChB,UAAU;QACV,SAAS;KACV,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjE,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,GAAQ;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAK,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAK,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/src/request.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type EventEmitter from "node:events";
|
|
2
|
-
import type UndiciT from "undici";
|
|
2
|
+
import type * as UndiciT from "undici";
|
|
3
3
|
export declare const DEFAULT_TIMEOUT_IN_MILLISECONDS = 300000;
|
|
4
4
|
export declare const DEFAULT_MAX_REDIRECTS = 10;
|
|
5
5
|
export declare const DEFAULT_POOL_MAX_CONNECTIONS = 128;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,OAAO,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"}
|
package/dist/src/request.js
CHANGED
|
@@ -9,6 +9,9 @@ export const DEFAULT_TIMEOUT_IN_MILLISECONDS = 300_000; // Aligned with unidici
|
|
|
9
9
|
export const DEFAULT_MAX_REDIRECTS = 10;
|
|
10
10
|
export const DEFAULT_POOL_MAX_CONNECTIONS = 128;
|
|
11
11
|
export const DEFAULT_USER_AGENT = "Hardhat";
|
|
12
|
+
// We don't load undici on startup because this package is transitively imported
|
|
13
|
+
// from too many places and it's too complex to optimize case by case.
|
|
14
|
+
let undici;
|
|
12
15
|
/**
|
|
13
16
|
* Performs a HTTP request.
|
|
14
17
|
*
|
|
@@ -22,10 +25,12 @@ export const DEFAULT_USER_AGENT = "Hardhat";
|
|
|
22
25
|
* @throws RequestError If the request fails for any other reason.
|
|
23
26
|
*/
|
|
24
27
|
export async function getRequest(url, requestOptions = {}, dispatcherOrDispatcherOptions) {
|
|
25
|
-
|
|
28
|
+
if (undici === undefined) {
|
|
29
|
+
undici = await import("undici");
|
|
30
|
+
}
|
|
26
31
|
try {
|
|
27
32
|
const baseRequestOptions = await getBaseRequestOptions(url, requestOptions, dispatcherOrDispatcherOptions);
|
|
28
|
-
return await request(url, {
|
|
33
|
+
return await undici.request(url, {
|
|
29
34
|
method: "GET",
|
|
30
35
|
...baseRequestOptions,
|
|
31
36
|
});
|
|
@@ -50,10 +55,12 @@ export async function getRequest(url, requestOptions = {}, dispatcherOrDispatche
|
|
|
50
55
|
* @throws RequestError If the request fails for any other reason.
|
|
51
56
|
*/
|
|
52
57
|
export async function postJsonRequest(url, body, requestOptions = {}, dispatcherOrDispatcherOptions) {
|
|
53
|
-
|
|
58
|
+
if (undici === undefined) {
|
|
59
|
+
undici = await import("undici");
|
|
60
|
+
}
|
|
54
61
|
try {
|
|
55
62
|
const { headers, ...baseRequestOptions } = await getBaseRequestOptions(url, requestOptions, dispatcherOrDispatcherOptions);
|
|
56
|
-
return await request(url, {
|
|
63
|
+
return await undici.request(url, {
|
|
57
64
|
method: "POST",
|
|
58
65
|
...baseRequestOptions,
|
|
59
66
|
headers: {
|
|
@@ -83,10 +90,12 @@ export async function postJsonRequest(url, body, requestOptions = {}, dispatcher
|
|
|
83
90
|
* @throws RequestError If the request fails for any other reason.
|
|
84
91
|
*/
|
|
85
92
|
export async function postFormRequest(url, body, requestOptions = {}, dispatcherOrDispatcherOptions) {
|
|
86
|
-
|
|
93
|
+
if (undici === undefined) {
|
|
94
|
+
undici = await import("undici");
|
|
95
|
+
}
|
|
87
96
|
try {
|
|
88
97
|
const { headers, ...baseRequestOptions } = await getBaseRequestOptions(url, requestOptions, dispatcherOrDispatcherOptions);
|
|
89
|
-
return await request(url, {
|
|
98
|
+
return await undici.request(url, {
|
|
90
99
|
method: "POST",
|
|
91
100
|
...baseRequestOptions,
|
|
92
101
|
headers: {
|
|
@@ -191,9 +200,11 @@ export async function getDispatcher(url, { timeout, proxy, pool, maxConnections,
|
|
|
191
200
|
}
|
|
192
201
|
}
|
|
193
202
|
export async function getTestDispatcher(options = {}) {
|
|
194
|
-
|
|
203
|
+
if (undici === undefined) {
|
|
204
|
+
undici = await import("undici");
|
|
205
|
+
}
|
|
195
206
|
const baseOptions = getBaseDispatcherOptions(options.timeout, true);
|
|
196
|
-
return new MockAgent(baseOptions);
|
|
207
|
+
return new undici.MockAgent(baseOptions);
|
|
197
208
|
}
|
|
198
209
|
/**
|
|
199
210
|
* Determines whether a proxy should be used for a given url.
|
package/dist/src/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,+BAA+B,GAAG,OAAO,CAAC,CAAC,uBAAuB;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"}
|
package/dist/src/string.d.ts
CHANGED
|
@@ -24,6 +24,13 @@ export declare function capitalize(str: string): string;
|
|
|
24
24
|
* @returns The camelCase string.
|
|
25
25
|
*/
|
|
26
26
|
export declare function kebabToCamelCase(str: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Converts a snake_case string to camelCase.
|
|
29
|
+
*
|
|
30
|
+
* @param str The snake_case string to convert.
|
|
31
|
+
* @returns The camelCase string.
|
|
32
|
+
*/
|
|
33
|
+
export declare function snakeToCamelCase(str: string): string;
|
|
27
34
|
/**
|
|
28
35
|
* Converts a camelCase string to snake_case.
|
|
29
36
|
*
|
package/dist/src/string.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAMR;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAMR;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
package/dist/src/string.js
CHANGED
|
@@ -33,6 +33,15 @@ export function capitalize(str) {
|
|
|
33
33
|
export function kebabToCamelCase(str) {
|
|
34
34
|
return str.replace(/-./g, (match) => match.charAt(1).toUpperCase());
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Converts a snake_case string to camelCase.
|
|
38
|
+
*
|
|
39
|
+
* @param str The snake_case string to convert.
|
|
40
|
+
* @returns The camelCase string.
|
|
41
|
+
*/
|
|
42
|
+
export function snakeToCamelCase(str) {
|
|
43
|
+
return str.replace(/_./g, (match) => match.charAt(1).toUpperCase());
|
|
44
|
+
}
|
|
36
45
|
/**
|
|
37
46
|
* Converts a camelCase string to snake_case.
|
|
38
47
|
*
|
package/dist/src/string.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CACvB,QAAgB,EAChB,KAAa,EACb,MAAe;IAEf,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;AAChD,CAAC"}
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CACvB,QAAgB,EAChB,KAAa,EACb,MAAe;IAEf,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;AAChD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nomicfoundation/hardhat-utils",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.3",
|
|
4
4
|
"description": "Utilities for Hardhat and its plugins",
|
|
5
|
-
"homepage": "https://github.com/
|
|
5
|
+
"homepage": "https://github.com/NomicFoundation/hardhat/tree/main/packages/hardhat-utils",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/NomicFoundation/hardhat",
|
|
9
|
-
"directory": "
|
|
9
|
+
"directory": "packages/hardhat-utils"
|
|
10
10
|
},
|
|
11
11
|
"author": "Nomic Foundation",
|
|
12
12
|
"license": "MIT",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"README.md"
|
|
53
53
|
],
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@nomicfoundation/hardhat-node-test-reporter": "^3.0.
|
|
55
|
+
"@nomicfoundation/hardhat-node-test-reporter": "^3.0.4",
|
|
56
56
|
"@types/bn.js": "^5.1.5",
|
|
57
57
|
"@types/debug": "^4.1.7",
|
|
58
58
|
"@types/node": "^22.0.0",
|
|
@@ -85,6 +85,6 @@
|
|
|
85
85
|
"pretest": "pnpm build",
|
|
86
86
|
"pretest:only": "pnpm build",
|
|
87
87
|
"build": "tsc --build .",
|
|
88
|
-
"clean": "rimraf dist"
|
|
88
|
+
"clean": "rimraf dist ./test/fixture-projects/*-tmp-*-*-*-*-*"
|
|
89
89
|
}
|
|
90
90
|
}
|
package/src/bytes.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { buildLpsTable } from "./internal/bytes.js";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Checks if a value is an instance of Uint8Array.
|
|
3
5
|
*
|
|
@@ -47,5 +49,61 @@ export function utf8StringToBytes(utf8String: string): Uint8Array {
|
|
|
47
49
|
return new TextEncoder().encode(utf8String);
|
|
48
50
|
}
|
|
49
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Converts a Uint8Array of UTF-8 encoded bytes into a string.
|
|
54
|
+
*
|
|
55
|
+
* @param bytes The UTF-8 encoded byte array to convert.
|
|
56
|
+
* @returns The decoded UTF-8 string.
|
|
57
|
+
*/
|
|
58
|
+
export function bytesToUtf8String(bytes: Uint8Array): string {
|
|
59
|
+
return new TextDecoder().decode(bytes);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Checks whether a Uint8Array contains the UTF-8 byte sequence of a given
|
|
64
|
+
* string. Searches the raw bytes without allocating a full string for the
|
|
65
|
+
* haystack. Uses the Knuth-Morris-Pratt (KMP) algorithm for efficient
|
|
66
|
+
* searching.
|
|
67
|
+
*
|
|
68
|
+
* @param haystack The Uint8Array to search in.
|
|
69
|
+
* @param needle The string whose UTF-8 encoding to search for.
|
|
70
|
+
* @returns True if the needle's byte sequence is found in the haystack.
|
|
71
|
+
*/
|
|
72
|
+
export function bytesIncludesUtf8String(
|
|
73
|
+
haystack: Uint8Array,
|
|
74
|
+
needle: string,
|
|
75
|
+
): boolean {
|
|
76
|
+
if (needle.length === 0) {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const needleBytes = utf8StringToBytes(needle);
|
|
81
|
+
const needleLen = needleBytes.length;
|
|
82
|
+
const haystackLen = haystack.length;
|
|
83
|
+
if (needleLen > haystackLen) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const lps = buildLpsTable(needleBytes);
|
|
88
|
+
|
|
89
|
+
let haystackI = 0;
|
|
90
|
+
let needleI = 0;
|
|
91
|
+
while (haystackI < haystackLen) {
|
|
92
|
+
if (haystack[haystackI] === needleBytes[needleI]) {
|
|
93
|
+
haystackI++;
|
|
94
|
+
needleI++;
|
|
95
|
+
if (needleI === needleLen) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
} else if (needleI > 0) {
|
|
99
|
+
needleI = lps[needleI - 1];
|
|
100
|
+
} else {
|
|
101
|
+
haystackI++;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
|
|
50
108
|
export { bytesToBigInt, bytesToNumber, numberToBytes } from "./number.js";
|
|
51
109
|
export { bytesToHexString, hexStringToBytes } from "./hex.js";
|
package/src/ci.ts
CHANGED
package/src/env.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { camelToSnakeCase } from "./string.js";
|
|
|
7
7
|
* with each option adhering to its definition in the globalOptionDefinitions.
|
|
8
8
|
*/
|
|
9
9
|
export function setGlobalOptionsAsEnvVariables<
|
|
10
|
-
T extends Record<keyof T, string | boolean>,
|
|
10
|
+
T extends Record<keyof T, string | boolean | number | undefined>,
|
|
11
11
|
>(globalOptions: T): void {
|
|
12
12
|
for (const [name, value] of Object.entries(globalOptions)) {
|
|
13
13
|
const envName = getEnvVariableNameFromGlobalOption(name);
|
package/src/format.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface TableTitle {
|
|
|
17
17
|
export interface TableSectionHeader {
|
|
18
18
|
type: "section-header";
|
|
19
19
|
text: string;
|
|
20
|
+
subtitle?: string;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
export interface TableHeader {
|
|
@@ -138,6 +139,15 @@ export function formatTable(items: TableItem[]): string {
|
|
|
138
139
|
tableWidth - 2 + (headerActualLength - headerDisplayWidth),
|
|
139
140
|
);
|
|
140
141
|
lines.push("║ " + paddedHeader + " ║");
|
|
142
|
+
if (current.subtitle !== undefined) {
|
|
143
|
+
const subtitleText = " " + current.subtitle;
|
|
144
|
+
const subtitleDisplayWidth = getStringWidth(subtitleText);
|
|
145
|
+
const subtitleActualLength = subtitleText.length;
|
|
146
|
+
const paddedSubtitle = subtitleText.padEnd(
|
|
147
|
+
tableWidth - 2 + (subtitleActualLength - subtitleDisplayWidth),
|
|
148
|
+
);
|
|
149
|
+
lines.push("║ " + paddedSubtitle + " ║");
|
|
150
|
+
}
|
|
141
151
|
inSection = true;
|
|
142
152
|
} else if (current.type === "header") {
|
|
143
153
|
const currentCellCount = current.cells.length;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// cSpell:ignore ABCAB ABCA BCAB
|
|
2
|
+
/**
|
|
3
|
+
* Builds the LPS (Longest Prefix Suffix) table used by the Knuth-Morris-Pratt
|
|
4
|
+
* string search algorithm. For each index `i` in the pattern, `lps[i]` holds
|
|
5
|
+
* the length of the longest prefix of `pattern[0..i]` that is also a suffix
|
|
6
|
+
* of that substring.
|
|
7
|
+
*
|
|
8
|
+
* For example, given the pattern `ABCABD`, the substring at index 4 is
|
|
9
|
+
* `ABCAB`. Its prefixes include `A`, `AB`, `ABC`, `ABCA` and its suffixes
|
|
10
|
+
* include `B`, `AB`, `CAB`, `BCAB`. The longest prefix that is also a
|
|
11
|
+
* suffix is `AB` (length 2), so `lps[4] = 2`.
|
|
12
|
+
*
|
|
13
|
+
* @param pattern The pattern to build the table for.
|
|
14
|
+
* @returns An array where entry `i` is the LPS length for `pattern[0..i]`.
|
|
15
|
+
*/
|
|
16
|
+
export function buildLpsTable(pattern: Uint8Array): number[] {
|
|
17
|
+
const lps = new Array(pattern.length).fill(0);
|
|
18
|
+
let matchLen = 0;
|
|
19
|
+
let i = 1;
|
|
20
|
+
|
|
21
|
+
while (i < pattern.length) {
|
|
22
|
+
if (pattern[i] === pattern[matchLen]) {
|
|
23
|
+
lps[i++] = ++matchLen;
|
|
24
|
+
} else if (matchLen > 0) {
|
|
25
|
+
matchLen = lps[matchLen - 1];
|
|
26
|
+
} else {
|
|
27
|
+
lps[i++] = 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return lps;
|
|
32
|
+
}
|
package/src/internal/format.ts
CHANGED
|
@@ -59,6 +59,10 @@ export function getHeadingWidth(items: TableItem[]): number {
|
|
|
59
59
|
if (item.type === "section-header" || item.type === "title") {
|
|
60
60
|
headingWidth = Math.max(headingWidth, getStringWidth(item.text) + 2);
|
|
61
61
|
}
|
|
62
|
+
if (item.type === "section-header" && item.subtitle !== undefined) {
|
|
63
|
+
// +4 accounts for "║ " prefix (2) and " " indent (2)
|
|
64
|
+
headingWidth = Math.max(headingWidth, getStringWidth(item.subtitle) + 4);
|
|
65
|
+
}
|
|
62
66
|
}
|
|
63
67
|
return headingWidth;
|
|
64
68
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import envPaths from "env-paths";
|
|
2
2
|
|
|
3
3
|
export const HARDHAT_PACKAGE_NAME = "hardhat";
|
|
4
4
|
|
|
5
5
|
export async function generatePaths(
|
|
6
6
|
packageName: string,
|
|
7
7
|
): Promise<envPaths.Paths> {
|
|
8
|
-
const { default: envPaths } = await import("env-paths");
|
|
9
8
|
return envPaths(packageName);
|
|
10
9
|
}
|
package/src/internal/lang.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createCustomEqual } from "fast-equals";
|
|
2
|
+
import rfdc from "rfdc";
|
|
2
3
|
|
|
3
4
|
import { isObject } from "../lang.js";
|
|
4
5
|
|
|
5
|
-
let clone: ReturnType<typeof
|
|
6
|
-
export
|
|
7
|
-
const { default: rfdc } = await import("rfdc");
|
|
8
|
-
|
|
6
|
+
let clone: ReturnType<typeof rfdc> | null = null;
|
|
7
|
+
export function getDeepCloneFunction(): <T>(input: T) => T {
|
|
9
8
|
if (clone === null) {
|
|
10
9
|
clone = rfdc();
|
|
11
10
|
}
|
|
@@ -61,15 +60,13 @@ let cachedCustomEqual: ((a: unknown, b: unknown) => boolean) | undefined;
|
|
|
61
60
|
*
|
|
62
61
|
* @param x The first value to compare.
|
|
63
62
|
* @param y The second value to compare.
|
|
64
|
-
* @returns
|
|
63
|
+
* @returns True if the values are deeply equal, false otherwise.
|
|
65
64
|
*/
|
|
66
|
-
export
|
|
65
|
+
export function customFastEqual<T>(x: T, y: T): boolean {
|
|
67
66
|
if (cachedCustomEqual !== undefined) {
|
|
68
67
|
return cachedCustomEqual(x, y);
|
|
69
68
|
}
|
|
70
69
|
|
|
71
|
-
const { createCustomEqual } = await import("fast-equals");
|
|
72
|
-
|
|
73
70
|
cachedCustomEqual = createCustomEqual({
|
|
74
71
|
createCustomConfig: (defaultConfig) => ({
|
|
75
72
|
areTypedArraysEqual: (a, b, state) => {
|
package/src/internal/request.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DispatcherOptions, RequestOptions } from "../request.js";
|
|
2
2
|
import type EventEmitter from "node:events";
|
|
3
|
-
import type UndiciT from "undici";
|
|
3
|
+
import type * as UndiciT from "undici";
|
|
4
4
|
|
|
5
5
|
import crypto from "node:crypto";
|
|
6
6
|
import path from "node:path";
|
|
@@ -17,6 +17,10 @@ import {
|
|
|
17
17
|
ResponseStatusCodeError,
|
|
18
18
|
} from "../request.js";
|
|
19
19
|
|
|
20
|
+
// We don't load undici on startup because this package is transitively imported
|
|
21
|
+
// from too many places and it's too complex to optimize case by case.
|
|
22
|
+
let undici: typeof UndiciT | undefined;
|
|
23
|
+
|
|
20
24
|
export async function generateTempFilePath(filePath: string): Promise<string> {
|
|
21
25
|
const { dir, ext, name } = path.parse(filePath);
|
|
22
26
|
|
|
@@ -40,9 +44,12 @@ export async function getBaseRequestOptions(
|
|
|
40
44
|
headers: Record<string, string>;
|
|
41
45
|
throwOnError: true;
|
|
42
46
|
}> {
|
|
43
|
-
|
|
47
|
+
if (undici === undefined) {
|
|
48
|
+
undici = await import("undici");
|
|
49
|
+
}
|
|
50
|
+
|
|
44
51
|
const dispatcher =
|
|
45
|
-
dispatcherOrDispatcherOptions instanceof Dispatcher
|
|
52
|
+
dispatcherOrDispatcherOptions instanceof undici.Dispatcher
|
|
46
53
|
? dispatcherOrDispatcherOptions
|
|
47
54
|
: await getDispatcher(requestUrl, dispatcherOrDispatcherOptions);
|
|
48
55
|
|
|
@@ -90,9 +97,11 @@ export async function getProxyDispatcher(
|
|
|
90
97
|
proxy: string,
|
|
91
98
|
options: Omit<UndiciT.ProxyAgent.Options, "uri">,
|
|
92
99
|
): Promise<UndiciT.ProxyAgent> {
|
|
93
|
-
|
|
100
|
+
if (undici === undefined) {
|
|
101
|
+
undici = await import("undici");
|
|
102
|
+
}
|
|
94
103
|
|
|
95
|
-
return new ProxyAgent({
|
|
104
|
+
return new undici.ProxyAgent({
|
|
96
105
|
uri: proxy,
|
|
97
106
|
...options,
|
|
98
107
|
});
|
|
@@ -102,18 +111,22 @@ export async function getPoolDispatcher(
|
|
|
102
111
|
requestUrl: string,
|
|
103
112
|
options: UndiciT.Pool.Options,
|
|
104
113
|
): Promise<UndiciT.Pool> {
|
|
105
|
-
|
|
114
|
+
if (undici === undefined) {
|
|
115
|
+
undici = await import("undici");
|
|
116
|
+
}
|
|
106
117
|
|
|
107
118
|
const parsedUrl = new URL(requestUrl);
|
|
108
|
-
return new Pool(parsedUrl.origin, options);
|
|
119
|
+
return new undici.Pool(parsedUrl.origin, options);
|
|
109
120
|
}
|
|
110
121
|
|
|
111
122
|
export async function getBasicDispatcher(
|
|
112
123
|
options: UndiciT.Agent.Options,
|
|
113
124
|
): Promise<UndiciT.Agent> {
|
|
114
|
-
|
|
125
|
+
if (undici === undefined) {
|
|
126
|
+
undici = await import("undici");
|
|
127
|
+
}
|
|
115
128
|
|
|
116
|
-
return new Agent(options);
|
|
129
|
+
return new undici.Agent(options);
|
|
117
130
|
}
|
|
118
131
|
|
|
119
132
|
export function getBaseDispatcherOptions(
|
package/src/lang.ts
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
* @returns The deep clone of the provided value.
|
|
12
12
|
*/
|
|
13
13
|
export async function deepClone<T>(value: T): Promise<T> {
|
|
14
|
-
const _deepClone =
|
|
14
|
+
const _deepClone = getDeepCloneFunction();
|
|
15
15
|
|
|
16
16
|
return _deepClone<T>(value);
|
|
17
17
|
}
|
package/src/request.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type EventEmitter from "node:events";
|
|
2
2
|
import type { FileHandle } from "node:fs/promises";
|
|
3
3
|
import type { ParsedUrlQueryInput } from "node:querystring";
|
|
4
|
-
import type UndiciT from "undici";
|
|
4
|
+
import type * as UndiciT from "undici";
|
|
5
5
|
|
|
6
6
|
import { open } from "node:fs/promises";
|
|
7
7
|
import querystring from "node:querystring";
|
|
@@ -33,6 +33,10 @@ export type Dispatcher = UndiciT.Dispatcher;
|
|
|
33
33
|
export type TestDispatcher = UndiciT.MockAgent;
|
|
34
34
|
export type Interceptable = UndiciT.Interceptable;
|
|
35
35
|
|
|
36
|
+
// We don't load undici on startup because this package is transitively imported
|
|
37
|
+
// from too many places and it's too complex to optimize case by case.
|
|
38
|
+
let undici: typeof UndiciT | undefined;
|
|
39
|
+
|
|
36
40
|
/**
|
|
37
41
|
* Options to configure the dispatcher.
|
|
38
42
|
*
|
|
@@ -88,7 +92,9 @@ export async function getRequest(
|
|
|
88
92
|
requestOptions: RequestOptions = {},
|
|
89
93
|
dispatcherOrDispatcherOptions?: UndiciT.Dispatcher | DispatcherOptions,
|
|
90
94
|
): Promise<HttpResponse> {
|
|
91
|
-
|
|
95
|
+
if (undici === undefined) {
|
|
96
|
+
undici = await import("undici");
|
|
97
|
+
}
|
|
92
98
|
|
|
93
99
|
try {
|
|
94
100
|
const baseRequestOptions = await getBaseRequestOptions(
|
|
@@ -96,7 +102,7 @@ export async function getRequest(
|
|
|
96
102
|
requestOptions,
|
|
97
103
|
dispatcherOrDispatcherOptions,
|
|
98
104
|
);
|
|
99
|
-
return await request(url, {
|
|
105
|
+
return await undici.request(url, {
|
|
100
106
|
method: "GET",
|
|
101
107
|
...baseRequestOptions,
|
|
102
108
|
});
|
|
@@ -128,7 +134,9 @@ export async function postJsonRequest(
|
|
|
128
134
|
requestOptions: RequestOptions = {},
|
|
129
135
|
dispatcherOrDispatcherOptions?: UndiciT.Dispatcher | DispatcherOptions,
|
|
130
136
|
): Promise<HttpResponse> {
|
|
131
|
-
|
|
137
|
+
if (undici === undefined) {
|
|
138
|
+
undici = await import("undici");
|
|
139
|
+
}
|
|
132
140
|
|
|
133
141
|
try {
|
|
134
142
|
const { headers, ...baseRequestOptions } = await getBaseRequestOptions(
|
|
@@ -136,7 +144,7 @@ export async function postJsonRequest(
|
|
|
136
144
|
requestOptions,
|
|
137
145
|
dispatcherOrDispatcherOptions,
|
|
138
146
|
);
|
|
139
|
-
return await request(url, {
|
|
147
|
+
return await undici.request(url, {
|
|
140
148
|
method: "POST",
|
|
141
149
|
...baseRequestOptions,
|
|
142
150
|
headers: {
|
|
@@ -173,7 +181,9 @@ export async function postFormRequest(
|
|
|
173
181
|
requestOptions: RequestOptions = {},
|
|
174
182
|
dispatcherOrDispatcherOptions?: UndiciT.Dispatcher | DispatcherOptions,
|
|
175
183
|
): Promise<HttpResponse> {
|
|
176
|
-
|
|
184
|
+
if (undici === undefined) {
|
|
185
|
+
undici = await import("undici");
|
|
186
|
+
}
|
|
177
187
|
|
|
178
188
|
try {
|
|
179
189
|
const { headers, ...baseRequestOptions } = await getBaseRequestOptions(
|
|
@@ -181,7 +191,7 @@ export async function postFormRequest(
|
|
|
181
191
|
requestOptions,
|
|
182
192
|
dispatcherOrDispatcherOptions,
|
|
183
193
|
);
|
|
184
|
-
return await request(url, {
|
|
194
|
+
return await undici.request(url, {
|
|
185
195
|
method: "POST",
|
|
186
196
|
...baseRequestOptions,
|
|
187
197
|
headers: {
|
|
@@ -324,10 +334,12 @@ export async function getTestDispatcher(
|
|
|
324
334
|
timeout?: number;
|
|
325
335
|
} = {},
|
|
326
336
|
): Promise<TestDispatcher> {
|
|
327
|
-
|
|
337
|
+
if (undici === undefined) {
|
|
338
|
+
undici = await import("undici");
|
|
339
|
+
}
|
|
328
340
|
|
|
329
341
|
const baseOptions = getBaseDispatcherOptions(options.timeout, true);
|
|
330
|
-
return new MockAgent(baseOptions);
|
|
342
|
+
return new undici.MockAgent(baseOptions);
|
|
331
343
|
}
|
|
332
344
|
|
|
333
345
|
/**
|
package/src/string.ts
CHANGED
|
@@ -41,6 +41,16 @@ export function kebabToCamelCase(str: string): string {
|
|
|
41
41
|
return str.replace(/-./g, (match) => match.charAt(1).toUpperCase());
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Converts a snake_case string to camelCase.
|
|
46
|
+
*
|
|
47
|
+
* @param str The snake_case string to convert.
|
|
48
|
+
* @returns The camelCase string.
|
|
49
|
+
*/
|
|
50
|
+
export function snakeToCamelCase(str: string): string {
|
|
51
|
+
return str.replace(/_./g, (match) => match.charAt(1).toUpperCase());
|
|
52
|
+
}
|
|
53
|
+
|
|
44
54
|
/**
|
|
45
55
|
* Converts a camelCase string to snake_case.
|
|
46
56
|
*
|