1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import type { DomHandlerOptions } from 'domhandler';
- import type { ParserOptions as HTMLParser2ParserOptions } from 'htmlparser2';
- import type { ParserOptions as Parse5ParserOptions } from 'parse5';
- import type { Htmlparser2TreeAdapterMap } from 'parse5-htmlparser2-tree-adapter';
- 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, HTMLParser2ParserOptions {
- }
- /**
- * Options accepted by Cheerio.
- *
- * Please note that parser-specific options are _only recognized_ if the
- * relevant parser is used.
- */
- export interface CheerioOptions extends Parse5ParserOptions<Htmlparser2TreeAdapterMap> {
- /**
- * Recommended way of configuring htmlparser2 when wanting to parse XML.
- *
- * This will switch Cheerio to use htmlparser2.
- *
- * @default false
- */
- xml?: HTMLParser2Options | boolean;
- /**
- * Enable xml mode, which will switch Cheerio to use htmlparser2.
- *
- * @deprecated Please use the `xml` option instead.
- * @default false
- */
- xmlMode?: boolean;
- /** The base URI for the document. Used to resolve 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 HTMLParser2Options, Omit<CheerioOptions, 'xml'> {
- /**
- * Whether to use htmlparser2.
- *
- * This is set to true if `xml` is set to true.
- */
- _useHtmlParser2?: boolean;
- }
- /**
- * Flatten the options for Cheerio.
- *
- * This will set `_useHtmlParser2` to true if `xml` is set to true.
- *
- * @param options - The options to flatten.
- * @param baseOptions - The base options to use.
- * @returns The flattened options.
- */
- export declare function flattenOptions(options?: CheerioOptions | null, baseOptions?: InternalOptions): InternalOptions;
- //# sourceMappingURL=options.d.ts.map
|