UNPKG

3.46 kBTypeScriptView Raw
1/**
2 * @file Batteries-included version of Cheerio. This module includes several
3 * convenience methods for loading documents from various sources.
4 */
5export * from './load-parse.js';
6export { contains, merge } from './static.js';
7export type * from './types.js';
8export type { Cheerio, CheerioAPI, CheerioOptions, HTMLParser2Options, } from './slim.js';
9import { type SnifferOptions } from 'encoding-sniffer';
10import * as undici from 'undici';
11import { Writable } from 'node:stream';
12import type { CheerioAPI } from './load.js';
13import { type CheerioOptions } from './options.js';
14/**
15 * Sniffs the encoding of a buffer, then creates a querying function bound to a
16 * document created from the buffer.
17 *
18 * @category Loading
19 * @example
20 *
21 * ```js
22 * import * as cheerio from 'cheerio';
23 *
24 * const buffer = fs.readFileSync('index.html');
25 * const $ = cheerio.fromBuffer(buffer);
26 * ```
27 *
28 * @param buffer - The buffer to sniff the encoding of.
29 * @param options - The options to pass to Cheerio.
30 * @returns The loaded document.
31 */
32export declare function loadBuffer(buffer: Buffer, options?: DecodeStreamOptions): CheerioAPI;
33/**
34 * Creates a stream that parses a sequence of strings into a document.
35 *
36 * The stream is a `Writable` stream that accepts strings. When the stream is
37 * finished, the callback is called with the loaded document.
38 *
39 * @category Loading
40 * @example
41 *
42 * ```js
43 * import * as cheerio from 'cheerio';
44 * import * as fs from 'fs';
45 *
46 * const writeStream = cheerio.stringStream({}, (err, $) => {
47 * if (err) {
48 * // Handle error
49 * }
50 *
51 * console.log($('h1').text());
52 * // Output: Hello, world!
53 * });
54 *
55 * fs.createReadStream('my-document.html', { encoding: 'utf8' }).pipe(
56 * writeStream,
57 * );
58 * ```
59 *
60 * @param options - The options to pass to Cheerio.
61 * @param cb - The callback to call when the stream is finished.
62 * @returns The writable stream.
63 */
64export declare function stringStream(options: CheerioOptions, cb: (err: Error | null | undefined, $: CheerioAPI) => void): Writable;
65export interface DecodeStreamOptions extends CheerioOptions {
66 encoding?: SnifferOptions;
67}
68/**
69 * Parses a stream of buffers into a document.
70 *
71 * The stream is a `Writable` stream that accepts buffers. When the stream is
72 * finished, the callback is called with the loaded document.
73 *
74 * @category Loading
75 * @param options - The options to pass to Cheerio.
76 * @param cb - The callback to call when the stream is finished.
77 * @returns The writable stream.
78 */
79export declare function decodeStream(options: DecodeStreamOptions, cb: (err: Error | null | undefined, $: CheerioAPI) => void): Writable;
80type UndiciStreamOptions = Parameters<typeof undici.stream>[1];
81export interface CheerioRequestOptions extends DecodeStreamOptions {
82 /** The options passed to `undici`'s `stream` method. */
83 requestOptions?: UndiciStreamOptions;
84}
85/**
86 * `fromURL` loads a document from a URL.
87 *
88 * By default, redirects are allowed and non-2xx responses are rejected.
89 *
90 * @category Loading
91 * @example
92 *
93 * ```js
94 * import * as cheerio from 'cheerio';
95 *
96 * const $ = await cheerio.fromURL('https://example.com');
97 * ```
98 *
99 * @param url - The URL to load the document from.
100 * @param options - The options to pass to Cheerio.
101 * @returns The loaded document.
102 */
103export declare function fromURL(url: string | URL, options?: CheerioRequestOptions): Promise<CheerioAPI>;
104//# sourceMappingURL=index.d.ts.map
\No newline at end of file