UNPKG

2.88 kBTypeScriptView Raw
1import type { RequestOptions } from '../request';
2import { Request } from '../request';
3import type { EnqueueLinksOptions } from './enqueue_links';
4export declare type UrlPatternObject = {
5 glob?: string;
6 regexp?: RegExp;
7} & Pick<RequestOptions, 'method' | 'payload' | 'label' | 'userData' | 'headers'>;
8export declare type PseudoUrlObject = {
9 purl: string;
10} & Pick<RequestOptions, 'method' | 'payload' | 'label' | 'userData' | 'headers'>;
11export declare type PseudoUrlInput = string | PseudoUrlObject;
12export declare type GlobObject = {
13 glob: string;
14} & Pick<RequestOptions, 'method' | 'payload' | 'label' | 'userData' | 'headers'>;
15export declare type GlobInput = string | GlobObject;
16export declare type RegExpObject = {
17 regexp: RegExp;
18} & Pick<RequestOptions, 'method' | 'payload' | 'label' | 'userData' | 'headers'>;
19export declare type RegExpInput = RegExp | RegExpObject;
20/**
21 * @ignore
22 */
23export declare function updateEnqueueLinksPatternCache(item: GlobInput | RegExpInput | PseudoUrlInput, pattern: RegExpObject | GlobObject): void;
24/**
25 * Helper factory used in the `enqueueLinks()` and enqueueLinksByClickingElements() function
26 * to construct RegExps from PseudoUrl strings.
27 * @ignore
28 */
29export declare function constructRegExpObjectsFromPseudoUrls(pseudoUrls: PseudoUrlInput[]): RegExpObject[];
30/**
31 * Helper factory used in the `enqueueLinks()` and enqueueLinksByClickingElements() function
32 * to construct Glob objects from Glob pattern strings.
33 * @ignore
34 */
35export declare function constructGlobObjectsFromGlobs(globs: GlobInput[]): GlobObject[];
36/**
37 * @internal
38 */
39export declare function validateGlobPattern(glob: string): string;
40/**
41 * Helper factory used in the `enqueueLinks()` and enqueueLinksByClickingElements() function
42 * to check RegExps input and return valid RegExps.
43 * @ignore
44 */
45export declare function constructRegExpObjectsFromRegExps(regexps: RegExpInput[]): RegExpObject[];
46/**
47 * @ignore
48 */
49export declare function createRequests(requestOptions: (string | RequestOptions)[], urlPatternObjects?: UrlPatternObject[]): Request[];
50export declare function filterRequestsByPatterns(requests: Request[], patterns?: UrlPatternObject[]): Request[];
51/**
52 * @ignore
53 */
54export declare function createRequestOptions(sources: (string | Record<string, unknown>)[], options?: Pick<EnqueueLinksOptions, 'label' | 'userData'>): RequestOptions[];
55/**
56 * Takes an Apify {@apilink RequestOptions} object and changes its attributes in a desired way. This user-function is used
57 * {@apilink enqueueLinks} to modify requests before enqueuing them.
58 */
59export interface RequestTransform {
60 /**
61 * @param original Request options to be modified.
62 * @returns The modified request options to enqueue.
63 */
64 (original: RequestOptions): RequestOptions | false | undefined | null;
65}
66//# sourceMappingURL=shared.d.ts.map
\No newline at end of file