123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- /// <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
|