You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.9 KiB
90 lines
2.9 KiB
/// <reference types="node" /> |
|
import type { DomHandlerOptions } from 'domhandler'; |
|
import type { ParserOptions } from 'htmlparser2'; |
|
import type { Options as SelectOptions } from 'cheerio-select'; |
|
/** |
|
* Options accepted by htmlparser2, the default parser for XML. |
|
* |
|
* @see https://github.com/fb55/htmlparser2/wiki/Parser-options |
|
*/ |
|
export interface HTMLParser2Options extends DomHandlerOptions, ParserOptions { |
|
} |
|
/** Options for parse5, the default parser for HTML. */ |
|
export interface Parse5Options { |
|
/** Disable scripting in parse5, so noscript tags would be parsed. */ |
|
scriptingEnabled?: boolean; |
|
/** Enable location support for parse5. */ |
|
sourceCodeLocationInfo?: boolean; |
|
} |
|
/** |
|
* Options accepted by Cheerio. |
|
* |
|
* Please note that parser-specific options are _only recognized_ if the |
|
* relevant parser is used. |
|
*/ |
|
export interface CheerioOptions extends HTMLParser2Options, Parse5Options { |
|
/** Recommended way of configuring htmlparser2 when wanting to parse XML. */ |
|
xml?: HTMLParser2Options | boolean; |
|
/** The base URI for the document. Used for the `href` and `src` props. */ |
|
baseURI?: string | URL; |
|
/** |
|
* Is the document in quirks mode? |
|
* |
|
* This will lead to `.className` and `#id` being case-insensitive. |
|
* |
|
* @default false |
|
*/ |
|
quirksMode?: SelectOptions['quirksMode']; |
|
/** |
|
* Extension point for pseudo-classes. |
|
* |
|
* Maps from names to either strings of functions. |
|
* |
|
* - A string value is a selector that the element must match to be selected. |
|
* - A function is called with the element as its first argument, and optional |
|
* parameters second. If it returns true, the element is selected. |
|
* |
|
* @example |
|
* |
|
* ```js |
|
* const $ = cheerio.load( |
|
* '<div class="foo"></div><div data-bar="boo"></div>', |
|
* { |
|
* pseudos: { |
|
* // `:foo` is an alias for `div.foo` |
|
* foo: 'div.foo', |
|
* // `:bar(val)` is equivalent to `[data-bar=val s]` |
|
* bar: (el, val) => el.attribs['data-bar'] === val, |
|
* }, |
|
* } |
|
* ); |
|
* |
|
* $(':foo').length; // 1 |
|
* $('div:bar(boo)').length; // 1 |
|
* $('div:bar(baz)').length; // 0 |
|
* ``` |
|
*/ |
|
pseudos?: SelectOptions['pseudos']; |
|
} |
|
/** Internal options for Cheerio. */ |
|
export interface InternalOptions extends Omit<CheerioOptions, 'xml'> { |
|
/** |
|
* Whether to use htmlparser2. |
|
* |
|
* This is set to true if `xml` is set to true. |
|
*/ |
|
_useHtmlParser2?: boolean; |
|
} |
|
declare const defaultOpts: CheerioOptions; |
|
/** Cheerio default options. */ |
|
export default defaultOpts; |
|
/** |
|
* Flatten the options for Cheerio. |
|
* |
|
* This will set `_useHtmlParser2` to true if `xml` is set to true. |
|
* |
|
* @param options - The options to flatten. |
|
* @returns The flattened options. |
|
*/ |
|
export declare function flatten(options?: CheerioOptions | null): InternalOptions | undefined; |
|
//# sourceMappingURL=options.d.ts.map
|