/** * @import { Caching, Config } from "@ghostery/adblocker-playwright" * @import { Page } from "playwright-core" */ /** * Les options du mode `"parse"`. * * @typedef {Object} ParseOptions * @prop {'parse'} mode Le mode de chargement des règles. * @prop {string} filters Les filtres. * @prop {Partial} [config] L'éventuelle configuration. */ /** * Les options du mode `"fromLists"`. * * @typedef {Object} FromListsOptions * @prop {'fromLists'} mode Le mode de chargement des règles. * @prop {string[]} urls Les URLs. * @prop {typeof fetch} [fetch] L'éventuelle fonction pour faire des * requêtes. * @prop {Partial} [config] L'éventuelle configuration. * @prop {Caching} [caching] L'éventuel système de cache. */ /** * Les options des modes `"fromPrebuiltAdsOnly"`, `"fromPrebuiltAdsAndTracking"` * et `"fromPrebuiltFull"`. * * @typedef {Object} FromPrebuiltOptions * @prop {'fromPrebuiltAdsOnly' | 'fromPrebuiltAdsAndTracking' | 'fromPrebuiltFull'} mode Le * mode * de * chargement * des * règles. * @prop {typeof fetch} [fetch] L'éventuelle * fonction * pour * faire * des * requêtes. * @prop {Caching} [caching] L'éventuel * système * de * cache. */ /** * Les options du plugin `tools.adblocker`. * * @typedef {ParseOptions | FromListsOptions | FromPrebuiltOptions} ToolsAdblockerOptions */ /** * Crée un plugin pour ajouter un bloqueur de publicités dans le navigateur. * * @param {ToolsAdblockerOptions} [options] Les éventuelles options du plugin * `tools.adblocker`. * @returns {Promise>} Une promesse contenant le * crochet du plugin. * @see https://github.com/ghostery/adblocker */ export default function toolsAdblockerPlugin(options?: ToolsAdblockerOptions): Promise>; /** * Les options du mode `"parse"`. */ export type ParseOptions = { /** * Le mode de chargement des règles. */ mode: "parse"; /** * Les filtres. */ filters: string; /** * L'éventuelle configuration. */ config?: Partial | undefined; }; /** * Les options du mode `"fromLists"`. */ export type FromListsOptions = { /** * Le mode de chargement des règles. */ mode: "fromLists"; /** * Les URLs. */ urls: string[]; /** * L'éventuelle fonction pour faire des * requêtes. */ fetch?: typeof fetch | undefined; /** * L'éventuelle configuration. */ config?: Partial | undefined; /** * L'éventuel système de cache. */ caching?: Caching | undefined; }; /** * Les options des modes `"fromPrebuiltAdsOnly"`, `"fromPrebuiltAdsAndTracking"` * et `"fromPrebuiltFull"`. */ export type FromPrebuiltOptions = { /** * Le * mode * de * chargement * des * règles. */ mode: "fromPrebuiltAdsOnly" | "fromPrebuiltAdsAndTracking" | "fromPrebuiltFull"; /** * L'éventuelle * fonction * pour * faire * des * requêtes. */ fetch?: typeof fetch | undefined; /** * L'éventuel * système * de * cache. */ caching?: Caching | undefined; }; /** * Les options du plugin `tools.adblocker`. */ export type ToolsAdblockerOptions = ParseOptions | FromListsOptions | FromPrebuiltOptions; import type { Config } from "@ghostery/adblocker-playwright"; import type { Caching } from "@ghostery/adblocker-playwright";