Skip to content

Commit 5f225ce

Browse files
authored
🤖 Merge PR DefinitelyTyped#74777 Updating type definitions for puppeteer-har by @CaglarDeniz
1 parent a021dfa commit 5f225ce

File tree

3 files changed

+34
-17
lines changed

3 files changed

+34
-17
lines changed
Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1-
interface PuppeteerHarOptions {
1+
import type { Frame, Page } from "puppeteer";
2+
3+
export interface PuppeteerHarOptions {
24
path?: string;
5+
saveResponse?: boolean;
6+
captureMimeTypes?: boolean;
37
}
48

5-
declare class PuppeteerHar {
9+
export class PuppeteerHar {
610
constructor(page: any, options?: PuppeteerHarOptions);
711
start(options?: PuppeteerHarOptions): Promise<void>;
8-
stop(): Promise<void>;
9-
save(options: PuppeteerHarOptions): Promise<void>;
10-
}
12+
stop(): Promise<PuppeteerHar | undefined>;
13+
cleanUp(): Promise<void>;
1114

12-
export = PuppeteerHar;
15+
inProgress: boolean;
16+
page: Page;
17+
mainFrame: Frame;
18+
}

‎types/puppeteer-har/package.json‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"https://github.com/Everettss/puppeteer-har#readme"
77
],
88
"dependencies": {
9-
"@types/puppeteer": "*"
9+
"puppeteer": "*"
1010
},
1111
"devDependencies": {
1212
"@types/puppeteer-har": "workspace:."
@@ -15,6 +15,10 @@
1515
{
1616
"name": "Julian Ordaz",
1717
"githubUsername": "jordaz14"
18+
},
19+
{
20+
"name": "Deniz Caglar",
21+
"githubUsername": "CaglarDeniz"
1822
}
1923
]
2024
}
Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,40 @@
11
/// <reference lib="dom" />
22

33
// Import only for type-checking purposes
4-
import PuppeteerHar from "puppeteer-har";
4+
import { Frame, Page } from "puppeteer";
5+
import { PuppeteerHar, PuppeteerHarOptions } from "puppeteer-har";
56

67
// Define a mock Page interface just for type-checking
7-
interface MockPage {
8-
goto(url: string): Promise<void>;
9-
}
108

119
// Create a mock Page object for type-checking
12-
const mockPage: MockPage = {
10+
const mockPage: any = {
1311
goto: async (url: string) => {
1412
// Mock implementation
1513
},
1614
};
1715

1816
// Check if the PuppeteerHar class is correctly typed
19-
const page: MockPage = mockPage as any; // Type assertion to use MockPage
20-
const har = new PuppeteerHar(page);
17+
const page: Page = mockPage as any; // Type assertion to use Page
18+
19+
const har = new PuppeteerHar(page, {
20+
path: "",
21+
saveResponse: true,
22+
captureMimeTypes: true,
23+
} as PuppeteerHarOptions);
2124

2225
// Type-check the methods of PuppeteerHar
2326
const startPromise: Promise<void> = har.start();
24-
const stopPromise: Promise<void> = har.stop();
25-
const savePromise: Promise<void> = har.save({ path: "example.har" });
27+
const stopPromise: Promise<PuppeteerHar | undefined> = har.stop();
28+
const cleanupPromise: Promise<void> = har.cleanUp();
2629

2730
// Verify that the PuppeteerHar instance is correctly typed
2831
const harInstance: PuppeteerHar = har;
2932

33+
const memberInProgress: boolean = har.inProgress;
34+
const memberPage: Page = har.page;
35+
const memberMainFrame: Frame = har.mainFrame;
36+
3037
// Ensure that the methods return the correct types
3138
startPromise.then(() => console.log("Start method passed type check"));
3239
stopPromise.then(() => console.log("Stop method passed type check"));
33-
savePromise.then(() => console.log("Save method passed type check"));
40+
cleanupPromise.then(() => console.log("Cleanup method passed type check"));

0 commit comments

Comments
 (0)