@tstdl/base 0.84.26 → 0.84.27
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.
|
@@ -38,5 +38,6 @@ export declare class BrowserController implements AsyncDisposable, Injectable<Br
|
|
|
38
38
|
[disposeAsync](): Promise<void>;
|
|
39
39
|
newContext(options?: NewBrowserContextOptions): Promise<BrowserContextController>;
|
|
40
40
|
close(): Promise<void>;
|
|
41
|
+
waitForNoContexts(): Promise<void>;
|
|
41
42
|
waitForClose(): Promise<void>;
|
|
42
43
|
}
|
|
@@ -75,6 +75,15 @@ let BrowserController = class BrowserController2 {
|
|
|
75
75
|
await this.browser.close();
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
async waitForNoContexts() {
|
|
79
|
+
while (true) {
|
|
80
|
+
const contexts = this.browser.contexts();
|
|
81
|
+
if (contexts.length == 0) {
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
await new Promise((resolve) => contexts[0].once("close", () => resolve()));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
78
87
|
async waitForClose() {
|
|
79
88
|
return new Promise((resolve) => {
|
|
80
89
|
if (!this.browser.isConnected()) {
|
|
@@ -32,5 +32,6 @@ export declare class BrowserService implements AsyncDisposable, Injectable<Brows
|
|
|
32
32
|
[disposeAsync](): Promise<void>;
|
|
33
33
|
newBrowser(options?: NewBrowserOptions): Promise<BrowserController>;
|
|
34
34
|
newPersistentContext(dataDirectory: string, browserOptions?: NewBrowserOptions, contextOptions?: NewBrowserContextOptions): Promise<BrowserContextController>;
|
|
35
|
+
waitForNoBrowsers(): Promise<void>;
|
|
35
36
|
dispose(): Promise<void>;
|
|
36
37
|
}
|
|
@@ -94,6 +94,18 @@ let BrowserService = class BrowserService2 {
|
|
|
94
94
|
context.once("close", () => this.persistentBrowserContexts.delete(context));
|
|
95
95
|
return new import_browser_context_controller.BrowserContextController(context, mergedBrowserOptions.defaultNewContextOptions);
|
|
96
96
|
}
|
|
97
|
+
async waitForNoBrowsers() {
|
|
98
|
+
while (true) {
|
|
99
|
+
if (this.browsers.size == 0) {
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
for (const browser of this.browsers) {
|
|
103
|
+
if (browser.isConnected()) {
|
|
104
|
+
await new Promise((resolve) => browser.once("disconnected", () => resolve()));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
97
109
|
async dispose() {
|
|
98
110
|
for (const browser of this.browsers) {
|
|
99
111
|
if (browser.isConnected()) {
|
|
@@ -19,6 +19,7 @@ export declare class PageController extends DocumentController<Page> implements
|
|
|
19
19
|
close(): Promise<void>;
|
|
20
20
|
setExtraHttpHeaders(headers: Record<string, string>): Promise<void>;
|
|
21
21
|
waitForClose(): Promise<void>;
|
|
22
|
+
url(): string;
|
|
22
23
|
/**
|
|
23
24
|
* @param frameSelector frame name, url or url predicate
|
|
24
25
|
* @returns
|