@nomicfoundation/hardhat-utils 3.0.6 → 4.0.1
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 +17 -0
- package/dist/src/errors/synchronization.d.ts +29 -0
- package/dist/src/errors/synchronization.d.ts.map +1 -0
- package/dist/src/errors/synchronization.js +48 -0
- package/dist/src/errors/synchronization.js.map +1 -0
- package/dist/src/format.d.ts +7 -41
- package/dist/src/format.d.ts.map +1 -1
- package/dist/src/format.js +2 -72
- package/dist/src/format.js.map +1 -1
- package/dist/src/global-dir.d.ts +16 -0
- package/dist/src/global-dir.d.ts.map +1 -1
- package/dist/src/global-dir.js +27 -0
- package/dist/src/global-dir.js.map +1 -1
- package/dist/src/internal/format.d.ts +3 -3
- package/dist/src/internal/format.d.ts.map +1 -1
- package/dist/src/internal/format.js.map +1 -1
- package/dist/src/internal/request.d.ts.map +1 -1
- package/dist/src/internal/request.js +2 -1
- package/dist/src/internal/request.js.map +1 -1
- package/dist/src/lang.d.ts +1 -0
- package/dist/src/lang.d.ts.map +1 -1
- package/dist/src/lang.js +13 -0
- package/dist/src/lang.js.map +1 -1
- package/dist/src/request.d.ts.map +1 -1
- package/dist/src/request.js +24 -6
- package/dist/src/request.js.map +1 -1
- package/dist/src/synchronization.d.ts +99 -1
- package/dist/src/synchronization.d.ts.map +1 -1
- package/dist/src/synchronization.js +407 -89
- package/dist/src/synchronization.js.map +1 -1
- package/package.json +1 -1
- package/src/errors/synchronization.ts +75 -0
- package/src/format.ts +11 -94
- package/src/global-dir.ts +31 -0
- package/src/internal/format.ts +3 -3
- package/src/internal/request.ts +2 -1
- package/src/lang.ts +15 -0
- package/src/request.ts +29 -6
- package/src/synchronization.ts +504 -95
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @nomicfoundation/hardhat-utils
|
|
2
2
|
|
|
3
|
+
## 4.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 01b41ee: Added support for function gas snapshots and snapshot cheatcodes in Solidity tests with `--snapshot` and `--snapshot-check` flags ([#7769](https://github.com/NomicFoundation/hardhat/issues/7769))
|
|
8
|
+
|
|
9
|
+
## 4.0.0
|
|
10
|
+
|
|
11
|
+
### Major Changes
|
|
12
|
+
|
|
13
|
+
- 87623db: Introduce new inter-process mutex implementation ([7942](https://github.com/NomicFoundation/hardhat/pull/7942)).
|
|
14
|
+
- 726ff37: Update the `--coverage` table output to match the style used by `--gas-stats`. Thanks @jose-blockchain! ([#7733](https://github.com/NomicFoundation/hardhat/issues/7733))
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 87623db: Fix two issues in the `download` function ([7942](https://github.com/NomicFoundation/hardhat/pull/7942)).
|
|
19
|
+
|
|
3
20
|
## 3.0.6
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CustomError } from "../error.js";
|
|
2
|
+
export declare class BaseMultiProcessMutexError extends CustomError {
|
|
3
|
+
constructor(message: string, cause?: Error);
|
|
4
|
+
}
|
|
5
|
+
export declare class InvalidMultiProcessMutexPathError extends BaseMultiProcessMutexError {
|
|
6
|
+
constructor(mutexPath: string);
|
|
7
|
+
}
|
|
8
|
+
export declare class MultiProcessMutexError extends BaseMultiProcessMutexError {
|
|
9
|
+
constructor(lockPath: string, cause: Error);
|
|
10
|
+
}
|
|
11
|
+
export declare class MultiProcessMutexTimeoutError extends BaseMultiProcessMutexError {
|
|
12
|
+
constructor(lockPath: string, timeoutMs: number);
|
|
13
|
+
}
|
|
14
|
+
export declare class StaleMultiProcessMutexError extends BaseMultiProcessMutexError {
|
|
15
|
+
constructor(lockPath: string, ownerUid: number | undefined, cause: Error);
|
|
16
|
+
}
|
|
17
|
+
export declare class IncompatibleMultiProcessMutexError extends BaseMultiProcessMutexError {
|
|
18
|
+
constructor(message: string);
|
|
19
|
+
}
|
|
20
|
+
export declare class IncompatibleHostnameMultiProcessMutexError extends IncompatibleMultiProcessMutexError {
|
|
21
|
+
constructor(lockPath: string, foreignHostname: string, currentHostname: string);
|
|
22
|
+
}
|
|
23
|
+
export declare class IncompatiblePlatformMultiProcessMutexError extends IncompatibleMultiProcessMutexError {
|
|
24
|
+
constructor(lockPath: string, foreignPlatform: string, currentPlatform: string);
|
|
25
|
+
}
|
|
26
|
+
export declare class IncompatibleUidMultiProcessMutexError extends IncompatibleMultiProcessMutexError {
|
|
27
|
+
constructor(lockPath: string, foreignUid: number, currentUid: number);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=synchronization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synchronization.d.ts","sourceRoot":"","sources":["../../../src/errors/synchronization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,qBAAa,0BAA2B,SAAQ,WAAW;gBAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAG3C;AAED,qBAAa,iCAAkC,SAAQ,0BAA0B;gBACnE,SAAS,EAAE,MAAM;CAG9B;AAED,qBAAa,sBAAuB,SAAQ,0BAA0B;gBACxD,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAG3C;AAED,qBAAa,6BAA8B,SAAQ,0BAA0B;gBAC/D,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAKhD;AAED,qBAAa,2BAA4B,SAAQ,0BAA0B;gBAC7D,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK;CAOzE;AAED,qBAAa,kCAAmC,SAAQ,0BAA0B;gBACpE,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,0CAA2C,SAAQ,kCAAkC;gBAE9F,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM;CAM1B;AAED,qBAAa,0CAA2C,SAAQ,kCAAkC;gBAE9F,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM;CAM1B;AAED,qBAAa,qCAAsC,SAAQ,kCAAkC;gBAC/E,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAKrE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { CustomError } from "../error.js";
|
|
2
|
+
export class BaseMultiProcessMutexError extends CustomError {
|
|
3
|
+
constructor(message, cause) {
|
|
4
|
+
super(message, cause);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class InvalidMultiProcessMutexPathError extends BaseMultiProcessMutexError {
|
|
8
|
+
constructor(mutexPath) {
|
|
9
|
+
super(`The path ${mutexPath} is not a valid absolute path.`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class MultiProcessMutexError extends BaseMultiProcessMutexError {
|
|
13
|
+
constructor(lockPath, cause) {
|
|
14
|
+
super(`Unexpected error with lock at ${lockPath}: ${cause.message}`, cause);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class MultiProcessMutexTimeoutError extends BaseMultiProcessMutexError {
|
|
18
|
+
constructor(lockPath, timeoutMs) {
|
|
19
|
+
super(`Timed out waiting to acquire lock at ${lockPath} after ${timeoutMs}ms`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class StaleMultiProcessMutexError extends BaseMultiProcessMutexError {
|
|
23
|
+
constructor(lockPath, ownerUid, cause) {
|
|
24
|
+
const uidInfo = ownerUid !== undefined ? ` (uid: ${ownerUid})` : "";
|
|
25
|
+
super(`Lock at ${lockPath} appears stale but cannot be removed due to insufficient permissions${uidInfo}. Please remove it manually: ${lockPath}`, cause);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class IncompatibleMultiProcessMutexError extends BaseMultiProcessMutexError {
|
|
29
|
+
constructor(message) {
|
|
30
|
+
super(message);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export class IncompatibleHostnameMultiProcessMutexError extends IncompatibleMultiProcessMutexError {
|
|
34
|
+
constructor(lockPath, foreignHostname, currentHostname) {
|
|
35
|
+
super(`Lock at ${lockPath} was created by a different host (${foreignHostname}, current: ${currentHostname}). It cannot be verified or removed automatically. Please remove it manually: ${lockPath}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export class IncompatiblePlatformMultiProcessMutexError extends IncompatibleMultiProcessMutexError {
|
|
39
|
+
constructor(lockPath, foreignPlatform, currentPlatform) {
|
|
40
|
+
super(`Lock at ${lockPath} was created on a different platform (${foreignPlatform}, current: ${currentPlatform}). It cannot be verified or removed automatically. Please remove it manually: ${lockPath}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export class IncompatibleUidMultiProcessMutexError extends IncompatibleMultiProcessMutexError {
|
|
44
|
+
constructor(lockPath, foreignUid, currentUid) {
|
|
45
|
+
super(`Lock at ${lockPath} is owned by a different user (uid: ${foreignUid}, current: ${currentUid}). It cannot be removed automatically. Please remove it manually: ${lockPath}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=synchronization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../../../src/errors/synchronization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,0BAA2B,SAAQ,WAAW;IACzD,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,0BAA0B;IAC/E,YAAY,SAAiB;QAC3B,KAAK,CAAC,YAAY,SAAS,gCAAgC,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,0BAA0B;IACpE,YAAY,QAAgB,EAAE,KAAY;QACxC,KAAK,CAAC,iCAAiC,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,0BAA0B;IAC3E,YAAY,QAAgB,EAAE,SAAiB;QAC7C,KAAK,CACH,wCAAwC,QAAQ,UAAU,SAAS,IAAI,CACxE,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,0BAA0B;IACzE,YAAY,QAAgB,EAAE,QAA4B,EAAE,KAAY;QACtE,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,KAAK,CACH,WAAW,QAAQ,uEAAuE,OAAO,gCAAgC,QAAQ,EAAE,EAC3I,KAAK,CACN,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,kCAAmC,SAAQ,0BAA0B;IAChF,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,0CAA2C,SAAQ,kCAAkC;IAChG,YACE,QAAgB,EAChB,eAAuB,EACvB,eAAuB;QAEvB,KAAK,CACH,WAAW,QAAQ,qCAAqC,eAAe,cAAc,eAAe,iFAAiF,QAAQ,EAAE,CAChM,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,0CAA2C,SAAQ,kCAAkC;IAChG,YACE,QAAgB,EAChB,eAAuB,EACvB,eAAuB;QAEvB,KAAK,CACH,WAAW,QAAQ,yCAAyC,eAAe,cAAc,eAAe,iFAAiF,QAAQ,EAAE,CACpM,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,kCAAkC;IAC3F,YAAY,QAAgB,EAAE,UAAkB,EAAE,UAAkB;QAClE,KAAK,CACH,WAAW,QAAQ,uCAAuC,UAAU,cAAc,UAAU,qEAAqE,QAAQ,EAAE,CAC5K,CAAC;IACJ,CAAC;CACF"}
|
package/dist/src/format.d.ts
CHANGED
|
@@ -1,54 +1,20 @@
|
|
|
1
|
-
export
|
|
2
|
-
export interface TableDivider {
|
|
3
|
-
type: "divider";
|
|
4
|
-
}
|
|
5
|
-
export type TableItem = TableRow | TableDivider;
|
|
6
|
-
export declare const divider: TableDivider;
|
|
7
|
-
/**
|
|
8
|
-
* Formats an array of rows and dividers into a table string.
|
|
9
|
-
*
|
|
10
|
-
* @param items An array of table rows (string arrays) and dividers.
|
|
11
|
-
* Dividers are objects with type: "divider" and will be rendered as table dividers.
|
|
12
|
-
* @returns The formatted table as a string, ready to be rendered.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```ts
|
|
16
|
-
* formatTable([
|
|
17
|
-
* ["Name", "Age"],
|
|
18
|
-
* divider,
|
|
19
|
-
* ["Alice", "30"],
|
|
20
|
-
* ["Bob", "25"],
|
|
21
|
-
* divider,
|
|
22
|
-
* ["Average", "27.5"]
|
|
23
|
-
* ]);
|
|
24
|
-
*
|
|
25
|
-
* // =>
|
|
26
|
-
* // | Name | Age |
|
|
27
|
-
* // | ------- | ---- |
|
|
28
|
-
* // | Alice | 30 |
|
|
29
|
-
* // | Bob | 25 |
|
|
30
|
-
* // | ------- | ---- |
|
|
31
|
-
* // | Average | 27.5 |
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export declare function formatTable(items: TableItem[]): string;
|
|
35
|
-
export interface TableTitleV2 {
|
|
1
|
+
export interface TableTitle {
|
|
36
2
|
type: "title";
|
|
37
3
|
text: string;
|
|
38
4
|
}
|
|
39
|
-
export interface
|
|
5
|
+
export interface TableSectionHeader {
|
|
40
6
|
type: "section-header";
|
|
41
7
|
text: string;
|
|
42
8
|
}
|
|
43
|
-
export interface
|
|
9
|
+
export interface TableHeader {
|
|
44
10
|
type: "header";
|
|
45
11
|
cells: string[];
|
|
46
12
|
}
|
|
47
|
-
export interface
|
|
13
|
+
export interface TableRow {
|
|
48
14
|
type: "row";
|
|
49
15
|
cells: string[];
|
|
50
16
|
}
|
|
51
|
-
export type
|
|
17
|
+
export type TableItem = TableTitle | TableSectionHeader | TableHeader | TableRow;
|
|
52
18
|
/**
|
|
53
19
|
* Formats an array of titles, section headers, headers, and rows into a table
|
|
54
20
|
* string with box-drawing characters.
|
|
@@ -66,7 +32,7 @@ export type TableItemV2 = TableTitleV2 | TableSectionHeaderV2 | TableHeaderV2 |
|
|
|
66
32
|
*
|
|
67
33
|
* @example
|
|
68
34
|
* ```ts
|
|
69
|
-
*
|
|
35
|
+
* formatTable([
|
|
70
36
|
* { type: "title", text: "My Table" },
|
|
71
37
|
* { type: "section-header", text: "User Data" },
|
|
72
38
|
* { type: "header", cells: ["Name", "Age", "City"] },
|
|
@@ -99,5 +65,5 @@ export type TableItemV2 = TableTitleV2 | TableSectionHeaderV2 | TableHeaderV2 |
|
|
|
99
65
|
* // ╚═══════╧═══════════╝
|
|
100
66
|
* ```
|
|
101
67
|
*/
|
|
102
|
-
export declare function
|
|
68
|
+
export declare function formatTable(items: TableItem[]): string;
|
|
103
69
|
//# sourceMappingURL=format.d.ts.map
|
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,
|
|
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;CACd;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,CAgGtD"}
|
package/dist/src/format.js
CHANGED
|
@@ -1,74 +1,4 @@
|
|
|
1
1
|
import { getColumnWidths, getContentWidth, getHeadingWidth, getStringWidth, renderContentLine, renderHeaderOpen, renderRowSeparator, renderSectionClose, } from "./internal/format.js";
|
|
2
|
-
export const divider = { type: "divider" };
|
|
3
|
-
/**
|
|
4
|
-
* Formats an array of rows and dividers into a table string.
|
|
5
|
-
*
|
|
6
|
-
* @param items An array of table rows (string arrays) and dividers.
|
|
7
|
-
* Dividers are objects with type: "divider" and will be rendered as table dividers.
|
|
8
|
-
* @returns The formatted table as a string, ready to be rendered.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* formatTable([
|
|
13
|
-
* ["Name", "Age"],
|
|
14
|
-
* divider,
|
|
15
|
-
* ["Alice", "30"],
|
|
16
|
-
* ["Bob", "25"],
|
|
17
|
-
* divider,
|
|
18
|
-
* ["Average", "27.5"]
|
|
19
|
-
* ]);
|
|
20
|
-
*
|
|
21
|
-
* // =>
|
|
22
|
-
* // | Name | Age |
|
|
23
|
-
* // | ------- | ---- |
|
|
24
|
-
* // | Alice | 30 |
|
|
25
|
-
* // | Bob | 25 |
|
|
26
|
-
* // | ------- | ---- |
|
|
27
|
-
* // | Average | 27.5 |
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export function formatTable(items) {
|
|
31
|
-
const widths = [];
|
|
32
|
-
const dataRows = [];
|
|
33
|
-
for (const item of items) {
|
|
34
|
-
if (Array.isArray(item)) {
|
|
35
|
-
dataRows.push([...item]);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
// Calculate maximum width for each column
|
|
39
|
-
for (const row of dataRows) {
|
|
40
|
-
for (let i = 0; i < row.length; i++) {
|
|
41
|
-
while (i >= widths.length) {
|
|
42
|
-
widths.push(0);
|
|
43
|
-
}
|
|
44
|
-
widths[i] = Math.max(widths[i], getStringWidth(row[i]));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
const dividerRow = widths.map((width) => "-".repeat(width));
|
|
48
|
-
const outputRows = [];
|
|
49
|
-
for (const item of items) {
|
|
50
|
-
if (Array.isArray(item)) {
|
|
51
|
-
const row = [...item];
|
|
52
|
-
// Pad the row to match the number of columns
|
|
53
|
-
while (row.length < widths.length) {
|
|
54
|
-
row.push("");
|
|
55
|
-
}
|
|
56
|
-
outputRows.push(row);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
outputRows.push([...dividerRow]);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
outputRows.forEach((row) => {
|
|
63
|
-
for (let i = 0; i < row.length; i++) {
|
|
64
|
-
const displayWidth = getStringWidth(row[i]);
|
|
65
|
-
const actualLength = row[i].length;
|
|
66
|
-
// Adjust padding to account for difference between display width and actual length
|
|
67
|
-
row[i] = row[i].padEnd(widths[i] + actualLength - displayWidth);
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
return outputRows.map((row) => `| ${row.join(" | ")} |`).join("\n");
|
|
71
|
-
}
|
|
72
2
|
/**
|
|
73
3
|
* Formats an array of titles, section headers, headers, and rows into a table
|
|
74
4
|
* string with box-drawing characters.
|
|
@@ -86,7 +16,7 @@ export function formatTable(items) {
|
|
|
86
16
|
*
|
|
87
17
|
* @example
|
|
88
18
|
* ```ts
|
|
89
|
-
*
|
|
19
|
+
* formatTable([
|
|
90
20
|
* { type: "title", text: "My Table" },
|
|
91
21
|
* { type: "section-header", text: "User Data" },
|
|
92
22
|
* { type: "header", cells: ["Name", "Age", "City"] },
|
|
@@ -119,7 +49,7 @@ export function formatTable(items) {
|
|
|
119
49
|
* // ╚═══════╧═══════════╝
|
|
120
50
|
* ```
|
|
121
51
|
*/
|
|
122
|
-
export function
|
|
52
|
+
export function formatTable(items) {
|
|
123
53
|
if (items.length === 0) {
|
|
124
54
|
return "";
|
|
125
55
|
}
|
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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"}
|
package/dist/src/global-dir.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sets a mock cache directory for getCacheDir. This is intended for testing
|
|
3
|
+
* purposes only, to isolate tests from the real global cache.
|
|
4
|
+
*
|
|
5
|
+
* @param dir The directory path to use as the mock cache directory.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setMockCacheDir(dir: string): void;
|
|
8
|
+
/**
|
|
9
|
+
* Resets the mock cache directory set by setMockCacheDir.
|
|
10
|
+
* Call this in test cleanup to restore normal behavior.
|
|
11
|
+
*/
|
|
12
|
+
export declare function resetMockCacheDir(): void;
|
|
1
13
|
/**
|
|
2
14
|
* Returns the configuration directory path for a given package (defaults to "hardhat").
|
|
3
15
|
* Ensures that the directory exists before returning the path.
|
|
@@ -11,6 +23,10 @@ export declare function getConfigDir(packageName?: string): Promise<string>;
|
|
|
11
23
|
* Returns the cache directory path for a given package (defaults to "hardhat").
|
|
12
24
|
* Ensures that the directory exists before returning the path.
|
|
13
25
|
*
|
|
26
|
+
* For testing purposes, the cache directory can be overridden using
|
|
27
|
+
* setMockCacheDir(). This is intended to isolate tests from the real
|
|
28
|
+
* global cache.
|
|
29
|
+
*
|
|
14
30
|
* @param packageName The name of the package for which to generate paths. Defaults to "hardhat" if no package name is provided.
|
|
15
31
|
* @returns The path to the hardhat cache directory.
|
|
16
32
|
* @throws FileSystemAccessError for any error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-dir.d.ts","sourceRoot":"","sources":["../../src/global-dir.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"global-dir.d.ts","sourceRoot":"","sources":["../../src/global-dir.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,WAAW,GAAE,MAA6B,GACzC,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,WAAW,GAAE,MAA6B,GACzC,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,WAAW,GAAE,MAA6B,GACzC,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
package/dist/src/global-dir.js
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import { ensureDir } from "./fs.js";
|
|
2
2
|
import { generatePaths, HARDHAT_PACKAGE_NAME } from "./internal/global-dir.js";
|
|
3
|
+
// Internal override for testing purposes
|
|
4
|
+
let _cacheDirOverride;
|
|
5
|
+
/**
|
|
6
|
+
* Sets a mock cache directory for getCacheDir. This is intended for testing
|
|
7
|
+
* purposes only, to isolate tests from the real global cache.
|
|
8
|
+
*
|
|
9
|
+
* @param dir The directory path to use as the mock cache directory.
|
|
10
|
+
*/
|
|
11
|
+
export function setMockCacheDir(dir) {
|
|
12
|
+
_cacheDirOverride = dir;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Resets the mock cache directory set by setMockCacheDir.
|
|
16
|
+
* Call this in test cleanup to restore normal behavior.
|
|
17
|
+
*/
|
|
18
|
+
export function resetMockCacheDir() {
|
|
19
|
+
_cacheDirOverride = undefined;
|
|
20
|
+
}
|
|
3
21
|
/**
|
|
4
22
|
* Returns the configuration directory path for a given package (defaults to "hardhat").
|
|
5
23
|
* Ensures that the directory exists before returning the path.
|
|
@@ -17,11 +35,20 @@ export async function getConfigDir(packageName = HARDHAT_PACKAGE_NAME) {
|
|
|
17
35
|
* Returns the cache directory path for a given package (defaults to "hardhat").
|
|
18
36
|
* Ensures that the directory exists before returning the path.
|
|
19
37
|
*
|
|
38
|
+
* For testing purposes, the cache directory can be overridden using
|
|
39
|
+
* setMockCacheDir(). This is intended to isolate tests from the real
|
|
40
|
+
* global cache.
|
|
41
|
+
*
|
|
20
42
|
* @param packageName The name of the package for which to generate paths. Defaults to "hardhat" if no package name is provided.
|
|
21
43
|
* @returns The path to the hardhat cache directory.
|
|
22
44
|
* @throws FileSystemAccessError for any error.
|
|
23
45
|
*/
|
|
24
46
|
export async function getCacheDir(packageName = HARDHAT_PACKAGE_NAME) {
|
|
47
|
+
// Allow override for testing purposes
|
|
48
|
+
if (_cacheDirOverride !== undefined) {
|
|
49
|
+
await ensureDir(_cacheDirOverride);
|
|
50
|
+
return _cacheDirOverride;
|
|
51
|
+
}
|
|
25
52
|
const { cache } = await generatePaths(packageName);
|
|
26
53
|
await ensureDir(cache);
|
|
27
54
|
return cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-dir.js","sourceRoot":"","sources":["../../src/global-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,cAAsB,oBAAoB;IAE1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"global-dir.js","sourceRoot":"","sources":["../../src/global-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,yCAAyC;AACzC,IAAI,iBAAqC,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,iBAAiB,GAAG,GAAG,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,iBAAiB,GAAG,SAAS,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,cAAsB,oBAAoB;IAE1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,cAAsB,oBAAoB;IAE1C,sCAAsC;IACtC,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACnC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,cAAsB,oBAAoB;IAE1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TableItem } from "../format.js";
|
|
2
2
|
/**
|
|
3
3
|
* Calculate the display width of a string by removing ANSI escape codes.
|
|
4
4
|
*
|
|
@@ -11,7 +11,7 @@ export declare function getStringWidth(str: string): number;
|
|
|
11
11
|
* Calculates the minimum width needed by each column in the table
|
|
12
12
|
* to fit its content (accounting for ANSI color codes).
|
|
13
13
|
*/
|
|
14
|
-
export declare function getColumnWidths(items:
|
|
14
|
+
export declare function getColumnWidths(items: TableItem[]): number[];
|
|
15
15
|
/**
|
|
16
16
|
* Calculates the inner width needed to fit the rows and headers
|
|
17
17
|
* (excludes borders, which are added during rendering).
|
|
@@ -27,7 +27,7 @@ export declare function getContentWidth(columnWidths: number[]): number;
|
|
|
27
27
|
* Each title/header is padded by 1 space on each side.
|
|
28
28
|
* Accounts for ANSI color codes.
|
|
29
29
|
*/
|
|
30
|
-
export declare function getHeadingWidth(items:
|
|
30
|
+
export declare function getHeadingWidth(items: TableItem[]): number;
|
|
31
31
|
/**
|
|
32
32
|
* Calculates the width needed for unused columns when a row/header has fewer
|
|
33
33
|
* cells than the total column count (e.g., if table has 6 columns but row
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/internal/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
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,CAQ1D;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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/internal/format.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,sCAAsC;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC,MAAM,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/internal/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,OAAO,MAAM,QAAQ,CAAC;AAiBlC,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,CAiBD;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,CAO7B;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,GAC5B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAKvB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,GAC7B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAIxB;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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
1
2
|
import path from "node:path";
|
|
2
3
|
import { mkdir } from "../fs.js";
|
|
3
4
|
import { isObject } from "../lang.js";
|
|
@@ -8,7 +9,7 @@ export async function generateTempFilePath(filePath) {
|
|
|
8
9
|
return path.format({
|
|
9
10
|
dir,
|
|
10
11
|
ext,
|
|
11
|
-
name: `tmp-${name}`,
|
|
12
|
+
name: `tmp-${name}-${crypto.randomBytes(8).toString("hex")}`,
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
15
|
export async function getBaseRequestOptions(requestUrl, { extraHeaders, abortSignal, queryParams } = {}, dispatcherOrDispatcherOptions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/internal/request.ts"],"names":[],"mappings":"AAIA,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,EAAE;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/internal/request.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lang.d.ts
CHANGED
|
@@ -61,4 +61,5 @@ export declare function sleep(seconds: number): Promise<void>;
|
|
|
61
61
|
* @param obj The object, which can be an instance of a class.
|
|
62
62
|
*/
|
|
63
63
|
export declare function bindAllMethods<ObjectT extends object>(obj: ObjectT): void;
|
|
64
|
+
export declare function findDuplicates<T>(arr: T[]): Set<T>;
|
|
64
65
|
//# sourceMappingURL=lang.d.ts.map
|
package/dist/src/lang.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../src/lang.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAIvD;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC1D,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,wBAAwB,GAAE,OAAc,GACvC,CAAC,GAAG,CAAC,CAEP;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAE3C;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CA4BzE"}
|
|
1
|
+
{"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../src/lang.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAIvD;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC1D,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,wBAAwB,GAAE,OAAc,GACvC,CAAC,GAAG,CAAC,CAEP;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAE3C;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CA4BzE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAalD"}
|
package/dist/src/lang.js
CHANGED
|
@@ -96,4 +96,17 @@ export function bindAllMethods(obj) {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
+
export function findDuplicates(arr) {
|
|
100
|
+
const seen = new Set();
|
|
101
|
+
const duplicates = new Set();
|
|
102
|
+
for (const item of arr) {
|
|
103
|
+
if (seen.has(item)) {
|
|
104
|
+
duplicates.add(item);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
seen.add(item);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return duplicates;
|
|
111
|
+
}
|
|
99
112
|
//# sourceMappingURL=lang.js.map
|
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,MAAM,oBAAoB,EAAE,CAAC;IAEhD,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"}
|
|
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,MAAM,oBAAoB,EAAE,CAAC;IAEhD,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,aAAa,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
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { open } from "node:fs/promises";
|
|
2
2
|
import querystring from "node:querystring";
|
|
3
3
|
import stream from "node:stream/promises";
|
|
4
4
|
import { ensureError } from "./error.js";
|
|
5
5
|
import { DownloadError, RequestError, DispatcherError, } from "./errors/request.js";
|
|
6
|
-
import { move } from "./fs.js";
|
|
6
|
+
import { move, remove } from "./fs.js";
|
|
7
7
|
import { generateTempFilePath, getBaseDispatcherOptions, getBaseRequestOptions, getBasicDispatcher, getPoolDispatcher, getProxyDispatcher, handleError, } from "./internal/request.js";
|
|
8
8
|
export const DEFAULT_TIMEOUT_IN_MILLISECONDS = 300_000; // Aligned with unidici
|
|
9
9
|
export const DEFAULT_MAX_REDIRECTS = 10;
|
|
@@ -116,10 +116,11 @@ export async function postFormRequest(url, body, requestOptions = {}, dispatcher
|
|
|
116
116
|
*/
|
|
117
117
|
export async function download(url, destination, requestOptions = {}, dispatcherOrDispatcherOptions) {
|
|
118
118
|
let statusCode;
|
|
119
|
+
let tempFilePath;
|
|
119
120
|
try {
|
|
120
121
|
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
121
122
|
-- We need the full Dispatcher.ResponseData here for stream.pipeline,
|
|
122
|
-
but HttpResponse doesn
|
|
123
|
+
but HttpResponse doesn't expose the raw ReadableStream.
|
|
123
124
|
TODO: wrap undici's request so we can keep the public API
|
|
124
125
|
strictly typed without falling back to Undici types. */
|
|
125
126
|
const response = (await getRequest(url, requestOptions, dispatcherOrDispatcherOptions));
|
|
@@ -128,13 +129,30 @@ export async function download(url, destination, requestOptions = {}, dispatcher
|
|
|
128
129
|
if (statusCode < 200 || statusCode >= 300) {
|
|
129
130
|
throw new Error(await body.text());
|
|
130
131
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
tempFilePath = await generateTempFilePath(destination);
|
|
133
|
+
let fileHandle;
|
|
134
|
+
try {
|
|
135
|
+
fileHandle = await open(tempFilePath, "w");
|
|
136
|
+
const fileStream = fileHandle.createWriteStream();
|
|
137
|
+
await stream.pipeline(body, fileStream);
|
|
138
|
+
}
|
|
139
|
+
finally {
|
|
140
|
+
// NOTE: Historically, not closing the file handle caused issues on Windows,
|
|
141
|
+
// for example, when trying to move the file previously written to by this function
|
|
142
|
+
await fileHandle?.close();
|
|
143
|
+
}
|
|
134
144
|
await move(tempFilePath, destination);
|
|
135
145
|
}
|
|
136
146
|
catch (e) {
|
|
137
147
|
ensureError(e);
|
|
148
|
+
if (tempFilePath !== undefined) {
|
|
149
|
+
try {
|
|
150
|
+
await remove(tempFilePath);
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// Best-effort: file may not exist or may have already been moved
|
|
154
|
+
}
|
|
155
|
+
}
|
|
138
156
|
handleError(e, url);
|
|
139
157
|
throw new DownloadError(url, e);
|
|
140
158
|
}
|