@@ -29,12 +29,9 @@ import {
29
29
StartPollingConfig ,
30
30
LoaderCrawlPageConfig ,
31
31
CrawlPageConfigObject ,
32
- CrawlPageRes ,
33
32
LoaderCrawlDataConfig ,
34
33
LoaderCrawlFileConfig ,
35
34
CrawlDataSingleRes ,
36
- CrawlDataRes ,
37
- CrawlFileRes ,
38
35
CrawlFileSingleRes ,
39
36
CrawlDataConfigObject ,
40
37
LoaderPageRequestConfig ,
@@ -320,10 +317,30 @@ export function createCrawlPage(baseConfig: LoaderXCrawlBaseConfig) {
320
317
// 通过 爬取cId 找到对应爬取, 再通过 爬取id 找到 page
321
318
const errorPageContainer = new Map < number , Map < number , Page > > ( )
322
319
323
- async function crawlPage < T extends CrawlPageConfig > (
324
- config : T ,
320
+ function crawlPage (
321
+ config : string ,
325
322
callback ?: ( res : CrawlPageSingleRes ) => void
326
- ) : Promise < CrawlPageRes < T > > {
323
+ ) : Promise < CrawlPageSingleRes >
324
+
325
+ function crawlPage (
326
+ config : PageRequestConfig ,
327
+ callback ?: ( res : CrawlPageSingleRes ) => void
328
+ ) : Promise < CrawlPageSingleRes >
329
+
330
+ function crawlPage (
331
+ config : ( string | PageRequestConfig ) [ ] ,
332
+ callback ?: ( res : CrawlPageSingleRes ) => void
333
+ ) : Promise < CrawlPageSingleRes [ ] >
334
+
335
+ function crawlPage (
336
+ config : CrawlPageConfigObject ,
337
+ callback ?: ( res : CrawlPageSingleRes ) => void
338
+ ) : Promise < CrawlPageSingleRes [ ] >
339
+
340
+ async function crawlPage (
341
+ config : CrawlPageConfig ,
342
+ callback ?: ( res : CrawlPageSingleRes ) => void
343
+ ) : Promise < CrawlPageSingleRes | CrawlPageSingleRes [ ] > {
327
344
const cId = ++ cIdCount
328
345
329
346
// 创建浏览器
@@ -405,7 +422,7 @@ export function createCrawlPage(baseConfig: LoaderXCrawlBaseConfig) {
405
422
? crawlResArr
406
423
: crawlResArr [ 0 ]
407
424
408
- return crawlRes as CrawlPageRes < T >
425
+ return crawlRes
409
426
}
410
427
411
428
async function crawlPageSingle (
@@ -466,10 +483,30 @@ export function createCrawlPage(baseConfig: LoaderXCrawlBaseConfig) {
466
483
}
467
484
468
485
export function createCrawlData ( baseConfig : LoaderXCrawlBaseConfig ) {
469
- async function crawlData < D = any , T extends CrawlDataConfig = any > (
470
- config : T ,
471
- callback ?: ( res : CrawlDataSingleRes < D > ) => void
472
- ) : Promise < CrawlDataRes < D , T > > {
486
+ function crawlData < T = any > (
487
+ config : string ,
488
+ callback ?: ( res : CrawlDataSingleRes < T > ) => void
489
+ ) : Promise < CrawlDataSingleRes < T > >
490
+
491
+ function crawlData < T = any > (
492
+ config : DataRequestConfig ,
493
+ callback ?: ( res : CrawlDataSingleRes < T > ) => void
494
+ ) : Promise < CrawlDataSingleRes < T > >
495
+
496
+ function crawlData < T = any > (
497
+ config : ( string | DataRequestConfig ) [ ] ,
498
+ callback ?: ( res : CrawlDataSingleRes < T > ) => void
499
+ ) : Promise < CrawlDataSingleRes < T > [ ] >
500
+
501
+ function crawlData < T = any > (
502
+ config : CrawlDataConfigObject ,
503
+ callback ?: ( res : CrawlDataSingleRes < T > ) => void
504
+ ) : Promise < CrawlDataSingleRes < T > [ ] >
505
+
506
+ async function crawlData < T = any > (
507
+ config : CrawlDataConfig ,
508
+ callback ?: ( res : CrawlDataSingleRes < T > ) => void
509
+ ) : Promise < CrawlDataSingleRes < T > | CrawlDataSingleRes < T > [ ] > {
473
510
const { requestConfigs, intervalTime } = loaderDataConfig (
474
511
baseConfig ,
475
512
config
@@ -484,7 +521,7 @@ export function createCrawlData(baseConfig: LoaderXCrawlBaseConfig) {
484
521
crawlRequestSingle
485
522
)
486
523
487
- const crawlResArr : CrawlDataSingleRes < D > [ ] = controllerRes . map ( ( item ) => {
524
+ const crawlResArr : CrawlDataSingleRes < T > [ ] = controllerRes . map ( ( item ) => {
488
525
const {
489
526
id,
490
527
isSuccess,
@@ -494,7 +531,7 @@ export function createCrawlData(baseConfig: LoaderXCrawlBaseConfig) {
494
531
crawlSingleRes
495
532
} = item
496
533
497
- const crawlRes : CrawlDataSingleRes < D > = {
534
+ const crawlRes : CrawlDataSingleRes < T > = {
498
535
id,
499
536
isSuccess,
500
537
maxRetry,
@@ -507,7 +544,7 @@ export function createCrawlData(baseConfig: LoaderXCrawlBaseConfig) {
507
544
if ( isSuccess && crawlSingleRes ) {
508
545
const contentType = crawlSingleRes . headers [ 'content-type' ] ?? ''
509
546
510
- const data : D = contentType . includes ( 'text' )
547
+ const data : T = contentType . includes ( 'text' )
511
548
? crawlSingleRes . data . toString ( )
512
549
: JSON . parse ( crawlSingleRes . data . toString ( ) )
513
550
@@ -527,17 +564,32 @@ export function createCrawlData(baseConfig: LoaderXCrawlBaseConfig) {
527
564
? crawlResArr
528
565
: crawlResArr [ 0 ]
529
566
530
- return crawlRes as CrawlDataRes < D , T >
567
+ return crawlRes
531
568
}
532
569
533
570
return crawlData
534
571
}
535
572
536
573
export function createCrawlFile ( baseConfig : LoaderXCrawlBaseConfig ) {
537
- async function crawlFile < T extends CrawlFileConfig > (
538
- config : T ,
574
+ function crawlFile (
575
+ config : FileRequestConfig ,
576
+ callback ?: ( res : CrawlFileSingleRes ) => void
577
+ ) : Promise < CrawlFileSingleRes >
578
+
579
+ function crawlFile (
580
+ config : FileRequestConfig [ ] ,
581
+ callback ?: ( res : CrawlFileSingleRes ) => void
582
+ ) : Promise < CrawlFileSingleRes [ ] >
583
+
584
+ function crawlFile (
585
+ config : CrawlFileConfigObject ,
586
+ callback ?: ( res : CrawlFileSingleRes ) => void
587
+ ) : Promise < CrawlFileSingleRes [ ] >
588
+
589
+ async function crawlFile (
590
+ config : CrawlFileConfig ,
539
591
callback ?: ( res : CrawlFileSingleRes ) => void
540
- ) : Promise < CrawlFileRes < T > > {
592
+ ) : Promise < CrawlFileSingleRes | CrawlFileSingleRes [ ] > {
541
593
const { requestConfigs, intervalTime, fileConfig } = loaderFileConfig (
542
594
baseConfig ,
543
595
config
@@ -685,7 +737,7 @@ export function createCrawlFile(baseConfig: LoaderXCrawlBaseConfig) {
685
737
? crawlResArr
686
738
: crawlResArr [ 0 ]
687
739
688
- return crawlRes as CrawlFileRes < T >
740
+ return crawlRes
689
741
}
690
742
691
743
return crawlFile
0 commit comments