@letsscrapedata/controller 0.0.47 → 0.0.49
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/dist/index.cjs +25 -15
- package/dist/index.d.cts +7 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +25 -15
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1318,8 +1318,8 @@ var PlaywrightBrowserContext = class extends import_node_events2.default {
|
|
|
1318
1318
|
if (this.#browserContext) {
|
|
1319
1319
|
this.#status = "closed";
|
|
1320
1320
|
this.#lastStatusUpdateTime = (0, import_utils3.getCurrentUnixTime)();
|
|
1321
|
-
await this.#browserContext.close();
|
|
1322
1321
|
(0, import_utils3.loginfo)(`browserContext ${this.id()} closed at ${this.#lastStatusUpdateTime}`);
|
|
1322
|
+
await this.#browserContext.close();
|
|
1323
1323
|
}
|
|
1324
1324
|
return true;
|
|
1325
1325
|
}
|
|
@@ -1423,10 +1423,12 @@ var PlaywrightBrowserContext = class extends import_node_events2.default {
|
|
|
1423
1423
|
return null;
|
|
1424
1424
|
}
|
|
1425
1425
|
}
|
|
1426
|
-
free() {
|
|
1426
|
+
free(clearStateData = false) {
|
|
1427
1427
|
if (this.#status === "busy") {
|
|
1428
1428
|
this.#status = "free";
|
|
1429
1429
|
this.#lastStatusUpdateTime = (0, import_utils3.getCurrentUnixTime)();
|
|
1430
|
+
if (clearStateData) {
|
|
1431
|
+
}
|
|
1430
1432
|
return true;
|
|
1431
1433
|
} else {
|
|
1432
1434
|
return false;
|
|
@@ -1444,6 +1446,9 @@ var PlaywrightBrowserContext = class extends import_node_events2.default {
|
|
|
1444
1446
|
id() {
|
|
1445
1447
|
return `browserContext-${this.#browserIdx}-${this.#browserContextIdx}`;
|
|
1446
1448
|
}
|
|
1449
|
+
isFree() {
|
|
1450
|
+
return this.#status === "free";
|
|
1451
|
+
}
|
|
1447
1452
|
isIncognito() {
|
|
1448
1453
|
return this.#incognito;
|
|
1449
1454
|
}
|
|
@@ -2893,15 +2898,6 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
|
|
|
2893
2898
|
return;
|
|
2894
2899
|
});
|
|
2895
2900
|
}
|
|
2896
|
-
free() {
|
|
2897
|
-
if (this.#status === "busy") {
|
|
2898
|
-
this.#status = "free";
|
|
2899
|
-
this.#lastStatusUpdateTime = (0, import_utils7.getCurrentUnixTime)();
|
|
2900
|
-
return true;
|
|
2901
|
-
} else {
|
|
2902
|
-
return false;
|
|
2903
|
-
}
|
|
2904
|
-
}
|
|
2905
2901
|
apiContext() {
|
|
2906
2902
|
throw new Error("Not supported in PuppeteerPage.");
|
|
2907
2903
|
}
|
|
@@ -2912,8 +2908,10 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
|
|
|
2912
2908
|
if (this.#browserContext) {
|
|
2913
2909
|
this.#status = "closed";
|
|
2914
2910
|
this.#lastStatusUpdateTime = (0, import_utils7.getCurrentUnixTime)();
|
|
2915
|
-
await this.#browserContext.close();
|
|
2916
2911
|
(0, import_utils7.loginfo)(`browserContext ${this.id()} closed at ${this.#lastStatusUpdateTime}`);
|
|
2912
|
+
if (this.#browserContextCreationMethod !== "launch") {
|
|
2913
|
+
await this.#browserContext.close();
|
|
2914
|
+
}
|
|
2917
2915
|
}
|
|
2918
2916
|
return true;
|
|
2919
2917
|
}
|
|
@@ -3019,6 +3017,17 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
|
|
|
3019
3017
|
return null;
|
|
3020
3018
|
}
|
|
3021
3019
|
}
|
|
3020
|
+
free(clearStateData = false) {
|
|
3021
|
+
if (this.#status === "busy") {
|
|
3022
|
+
this.#status = "free";
|
|
3023
|
+
this.#lastStatusUpdateTime = (0, import_utils7.getCurrentUnixTime)();
|
|
3024
|
+
if (clearStateData) {
|
|
3025
|
+
}
|
|
3026
|
+
return true;
|
|
3027
|
+
} else {
|
|
3028
|
+
return false;
|
|
3029
|
+
}
|
|
3030
|
+
}
|
|
3022
3031
|
hasFreePage(pageNum = 1) {
|
|
3023
3032
|
if (this.#maxPagesPerBrowserContext - this.#lsdPages.length > pageNum) {
|
|
3024
3033
|
return true;
|
|
@@ -3034,6 +3043,9 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
|
|
|
3034
3043
|
isIncognito() {
|
|
3035
3044
|
return this.#incognito;
|
|
3036
3045
|
}
|
|
3046
|
+
isFree() {
|
|
3047
|
+
return this.#status === "free";
|
|
3048
|
+
}
|
|
3037
3049
|
page(pageIdx) {
|
|
3038
3050
|
const lsdPage = this.#lsdPages.find((p) => p.pageInfo().pageIdx === pageIdx);
|
|
3039
3051
|
return lsdPage ? lsdPage : null;
|
|
@@ -3223,9 +3235,7 @@ var PuppeteerBrowser = class extends import_node_events6.default {
|
|
|
3223
3235
|
clearInterval(this.#closeFreePagesIntervalId);
|
|
3224
3236
|
}
|
|
3225
3237
|
for (const lsdBrowserContext of this.#lsdBrowserContexts) {
|
|
3226
|
-
|
|
3227
|
-
await lsdBrowserContext.close();
|
|
3228
|
-
}
|
|
3238
|
+
await lsdBrowserContext.close();
|
|
3229
3239
|
}
|
|
3230
3240
|
await this.#browser.close();
|
|
3231
3241
|
return true;
|
package/dist/index.d.cts
CHANGED
|
@@ -996,8 +996,9 @@ interface LsdBrowserContext extends EventEmitter {
|
|
|
996
996
|
doesMeetBrowserContextRequirements(browserContextRequirements: BrowserContextRequirements): boolean;
|
|
997
997
|
/**
|
|
998
998
|
* Free a busy LsdBrowserContext.
|
|
999
|
+
* @param clearStateData default false
|
|
999
1000
|
*/
|
|
1000
|
-
free(): boolean;
|
|
1001
|
+
free(clearStateData?: boolean): boolean;
|
|
1001
1002
|
/**
|
|
1002
1003
|
* get a free page from current pages or by creating a new page
|
|
1003
1004
|
*/
|
|
@@ -1009,6 +1010,7 @@ interface LsdBrowserContext extends EventEmitter {
|
|
|
1009
1010
|
*/
|
|
1010
1011
|
hasFreePage(pageNum?: number): boolean;
|
|
1011
1012
|
id(): string;
|
|
1013
|
+
isFree(): boolean;
|
|
1012
1014
|
isIncognito(): boolean;
|
|
1013
1015
|
creationMethod(): BrowserContextCreationMethod;
|
|
1014
1016
|
page(pageIdx: number): LsdPage | null;
|
|
@@ -1137,9 +1139,10 @@ declare class PlaywrightBrowserContext extends EventEmitter implements LsdBrowse
|
|
|
1137
1139
|
creationMethod(): BrowserContextCreationMethod;
|
|
1138
1140
|
doesMeetBrowserContextRequirements(browserContextRequirements: BrowserContextRequirements): boolean;
|
|
1139
1141
|
getPage(always?: boolean): Promise<LsdPage | null>;
|
|
1140
|
-
free(): boolean;
|
|
1142
|
+
free(clearStateData?: boolean): boolean;
|
|
1141
1143
|
hasFreePage(pageNum?: number): boolean;
|
|
1142
1144
|
id(): string;
|
|
1145
|
+
isFree(): boolean;
|
|
1143
1146
|
isIncognito(): boolean;
|
|
1144
1147
|
page(pageIdx: number): LsdPage | null;
|
|
1145
1148
|
pages(): LsdPage[];
|
|
@@ -1257,7 +1260,6 @@ declare class PuppeteerBrowser extends EventEmitter implements LsdBrowser {
|
|
|
1257
1260
|
declare class PuppeteerBrowserContext extends EventEmitter implements LsdBrowserContext {
|
|
1258
1261
|
#private;
|
|
1259
1262
|
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext$1, browserContextCreationMethod: BrowserContextCreationMethod, incognito?: boolean, proxy?: ProxyInController | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number, userAgent?: string, maxViewportOfNewPage?: boolean);
|
|
1260
|
-
free(): boolean;
|
|
1261
1263
|
apiContext(): LsdApiContext;
|
|
1262
1264
|
browser(): LsdBrowser;
|
|
1263
1265
|
close(): Promise<boolean>;
|
|
@@ -1265,9 +1267,11 @@ declare class PuppeteerBrowserContext extends EventEmitter implements LsdBrowser
|
|
|
1265
1267
|
creationMethod(): BrowserContextCreationMethod;
|
|
1266
1268
|
doesMeetBrowserContextRequirements(browserContextRequirements: BrowserContextRequirements): boolean;
|
|
1267
1269
|
getPage(always?: boolean): Promise<LsdPage | null>;
|
|
1270
|
+
free(clearStateData?: boolean): boolean;
|
|
1268
1271
|
hasFreePage(pageNum?: number): boolean;
|
|
1269
1272
|
id(): string;
|
|
1270
1273
|
isIncognito(): boolean;
|
|
1274
|
+
isFree(): boolean;
|
|
1271
1275
|
page(pageIdx: number): LsdPage | null;
|
|
1272
1276
|
pages(): LsdPage[];
|
|
1273
1277
|
proxy(): ProxyInController | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -996,8 +996,9 @@ interface LsdBrowserContext extends EventEmitter {
|
|
|
996
996
|
doesMeetBrowserContextRequirements(browserContextRequirements: BrowserContextRequirements): boolean;
|
|
997
997
|
/**
|
|
998
998
|
* Free a busy LsdBrowserContext.
|
|
999
|
+
* @param clearStateData default false
|
|
999
1000
|
*/
|
|
1000
|
-
free(): boolean;
|
|
1001
|
+
free(clearStateData?: boolean): boolean;
|
|
1001
1002
|
/**
|
|
1002
1003
|
* get a free page from current pages or by creating a new page
|
|
1003
1004
|
*/
|
|
@@ -1009,6 +1010,7 @@ interface LsdBrowserContext extends EventEmitter {
|
|
|
1009
1010
|
*/
|
|
1010
1011
|
hasFreePage(pageNum?: number): boolean;
|
|
1011
1012
|
id(): string;
|
|
1013
|
+
isFree(): boolean;
|
|
1012
1014
|
isIncognito(): boolean;
|
|
1013
1015
|
creationMethod(): BrowserContextCreationMethod;
|
|
1014
1016
|
page(pageIdx: number): LsdPage | null;
|
|
@@ -1137,9 +1139,10 @@ declare class PlaywrightBrowserContext extends EventEmitter implements LsdBrowse
|
|
|
1137
1139
|
creationMethod(): BrowserContextCreationMethod;
|
|
1138
1140
|
doesMeetBrowserContextRequirements(browserContextRequirements: BrowserContextRequirements): boolean;
|
|
1139
1141
|
getPage(always?: boolean): Promise<LsdPage | null>;
|
|
1140
|
-
free(): boolean;
|
|
1142
|
+
free(clearStateData?: boolean): boolean;
|
|
1141
1143
|
hasFreePage(pageNum?: number): boolean;
|
|
1142
1144
|
id(): string;
|
|
1145
|
+
isFree(): boolean;
|
|
1143
1146
|
isIncognito(): boolean;
|
|
1144
1147
|
page(pageIdx: number): LsdPage | null;
|
|
1145
1148
|
pages(): LsdPage[];
|
|
@@ -1257,7 +1260,6 @@ declare class PuppeteerBrowser extends EventEmitter implements LsdBrowser {
|
|
|
1257
1260
|
declare class PuppeteerBrowserContext extends EventEmitter implements LsdBrowserContext {
|
|
1258
1261
|
#private;
|
|
1259
1262
|
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext$1, browserContextCreationMethod: BrowserContextCreationMethod, incognito?: boolean, proxy?: ProxyInController | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number, userAgent?: string, maxViewportOfNewPage?: boolean);
|
|
1260
|
-
free(): boolean;
|
|
1261
1263
|
apiContext(): LsdApiContext;
|
|
1262
1264
|
browser(): LsdBrowser;
|
|
1263
1265
|
close(): Promise<boolean>;
|
|
@@ -1265,9 +1267,11 @@ declare class PuppeteerBrowserContext extends EventEmitter implements LsdBrowser
|
|
|
1265
1267
|
creationMethod(): BrowserContextCreationMethod;
|
|
1266
1268
|
doesMeetBrowserContextRequirements(browserContextRequirements: BrowserContextRequirements): boolean;
|
|
1267
1269
|
getPage(always?: boolean): Promise<LsdPage | null>;
|
|
1270
|
+
free(clearStateData?: boolean): boolean;
|
|
1268
1271
|
hasFreePage(pageNum?: number): boolean;
|
|
1269
1272
|
id(): string;
|
|
1270
1273
|
isIncognito(): boolean;
|
|
1274
|
+
isFree(): boolean;
|
|
1271
1275
|
page(pageIdx: number): LsdPage | null;
|
|
1272
1276
|
pages(): LsdPage[];
|
|
1273
1277
|
proxy(): ProxyInController | null;
|
package/dist/index.js
CHANGED
|
@@ -1272,8 +1272,8 @@ var PlaywrightBrowserContext = class extends EventEmitter2 {
|
|
|
1272
1272
|
if (this.#browserContext) {
|
|
1273
1273
|
this.#status = "closed";
|
|
1274
1274
|
this.#lastStatusUpdateTime = getCurrentUnixTime2();
|
|
1275
|
-
await this.#browserContext.close();
|
|
1276
1275
|
loginfo3(`browserContext ${this.id()} closed at ${this.#lastStatusUpdateTime}`);
|
|
1276
|
+
await this.#browserContext.close();
|
|
1277
1277
|
}
|
|
1278
1278
|
return true;
|
|
1279
1279
|
}
|
|
@@ -1377,10 +1377,12 @@ var PlaywrightBrowserContext = class extends EventEmitter2 {
|
|
|
1377
1377
|
return null;
|
|
1378
1378
|
}
|
|
1379
1379
|
}
|
|
1380
|
-
free() {
|
|
1380
|
+
free(clearStateData = false) {
|
|
1381
1381
|
if (this.#status === "busy") {
|
|
1382
1382
|
this.#status = "free";
|
|
1383
1383
|
this.#lastStatusUpdateTime = getCurrentUnixTime2();
|
|
1384
|
+
if (clearStateData) {
|
|
1385
|
+
}
|
|
1384
1386
|
return true;
|
|
1385
1387
|
} else {
|
|
1386
1388
|
return false;
|
|
@@ -1398,6 +1400,9 @@ var PlaywrightBrowserContext = class extends EventEmitter2 {
|
|
|
1398
1400
|
id() {
|
|
1399
1401
|
return `browserContext-${this.#browserIdx}-${this.#browserContextIdx}`;
|
|
1400
1402
|
}
|
|
1403
|
+
isFree() {
|
|
1404
|
+
return this.#status === "free";
|
|
1405
|
+
}
|
|
1401
1406
|
isIncognito() {
|
|
1402
1407
|
return this.#incognito;
|
|
1403
1408
|
}
|
|
@@ -2847,15 +2852,6 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
|
|
|
2847
2852
|
return;
|
|
2848
2853
|
});
|
|
2849
2854
|
}
|
|
2850
|
-
free() {
|
|
2851
|
-
if (this.#status === "busy") {
|
|
2852
|
-
this.#status = "free";
|
|
2853
|
-
this.#lastStatusUpdateTime = getCurrentUnixTime5();
|
|
2854
|
-
return true;
|
|
2855
|
-
} else {
|
|
2856
|
-
return false;
|
|
2857
|
-
}
|
|
2858
|
-
}
|
|
2859
2855
|
apiContext() {
|
|
2860
2856
|
throw new Error("Not supported in PuppeteerPage.");
|
|
2861
2857
|
}
|
|
@@ -2866,8 +2862,10 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
|
|
|
2866
2862
|
if (this.#browserContext) {
|
|
2867
2863
|
this.#status = "closed";
|
|
2868
2864
|
this.#lastStatusUpdateTime = getCurrentUnixTime5();
|
|
2869
|
-
await this.#browserContext.close();
|
|
2870
2865
|
loginfo6(`browserContext ${this.id()} closed at ${this.#lastStatusUpdateTime}`);
|
|
2866
|
+
if (this.#browserContextCreationMethod !== "launch") {
|
|
2867
|
+
await this.#browserContext.close();
|
|
2868
|
+
}
|
|
2871
2869
|
}
|
|
2872
2870
|
return true;
|
|
2873
2871
|
}
|
|
@@ -2973,6 +2971,17 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
|
|
|
2973
2971
|
return null;
|
|
2974
2972
|
}
|
|
2975
2973
|
}
|
|
2974
|
+
free(clearStateData = false) {
|
|
2975
|
+
if (this.#status === "busy") {
|
|
2976
|
+
this.#status = "free";
|
|
2977
|
+
this.#lastStatusUpdateTime = getCurrentUnixTime5();
|
|
2978
|
+
if (clearStateData) {
|
|
2979
|
+
}
|
|
2980
|
+
return true;
|
|
2981
|
+
} else {
|
|
2982
|
+
return false;
|
|
2983
|
+
}
|
|
2984
|
+
}
|
|
2976
2985
|
hasFreePage(pageNum = 1) {
|
|
2977
2986
|
if (this.#maxPagesPerBrowserContext - this.#lsdPages.length > pageNum) {
|
|
2978
2987
|
return true;
|
|
@@ -2988,6 +2997,9 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
|
|
|
2988
2997
|
isIncognito() {
|
|
2989
2998
|
return this.#incognito;
|
|
2990
2999
|
}
|
|
3000
|
+
isFree() {
|
|
3001
|
+
return this.#status === "free";
|
|
3002
|
+
}
|
|
2991
3003
|
page(pageIdx) {
|
|
2992
3004
|
const lsdPage = this.#lsdPages.find((p) => p.pageInfo().pageIdx === pageIdx);
|
|
2993
3005
|
return lsdPage ? lsdPage : null;
|
|
@@ -3177,9 +3189,7 @@ var PuppeteerBrowser = class extends EventEmitter6 {
|
|
|
3177
3189
|
clearInterval(this.#closeFreePagesIntervalId);
|
|
3178
3190
|
}
|
|
3179
3191
|
for (const lsdBrowserContext of this.#lsdBrowserContexts) {
|
|
3180
|
-
|
|
3181
|
-
await lsdBrowserContext.close();
|
|
3182
|
-
}
|
|
3192
|
+
await lsdBrowserContext.close();
|
|
3183
3193
|
}
|
|
3184
3194
|
await this.#browser.close();
|
|
3185
3195
|
return true;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@letsscrapedata/controller",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.49",
|
|
4
4
|
"description": "Unified browser / HTML controller interfaces that support playwright, puppeteer and cheerio",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"apify"
|
|
47
47
|
],
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@letsscrapedata/utils": "^0.0.
|
|
49
|
+
"@letsscrapedata/utils": "^0.0.24",
|
|
50
50
|
"cheerio": "^1.0.0",
|
|
51
51
|
"playwright": "^1.43.0",
|
|
52
52
|
"playwright-extra": "^4.3.6",
|