UNPKG

kayle

Version:

Extremely fast and accurate accessibility engine built for any headless tool like playwright or puppeteer.

73 lines 2.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extendRunner = exports.injectRunner = exports.getRunner = exports.runnersJavascript = void 0; const fs_1 = require("fs"); const axe_1 = require("./runners/axe"); const htmlcs_1 = require("./runners/htmlcs"); const loadRunnerFile = (run, langauge) => { if (run === "htmlcs") { return htmlcs_1.htmlcsRunner[langauge || "en"]; } if (run === "axe") { return axe_1.axeRunner[langauge || "en"]; } return require(run); }; const loadRunnerScript = (runner, langauge) => { const mods = loadRunnerFile(runner, langauge); let bundle = ""; for (const runnerScript of mods.scripts) { bundle += (0, fs_1.readFileSync)(runnerScript, "utf-8"); } return `${bundle};window.__a11y.runners['${runner}'] = ${mods.run.toString()};`; }; const runnersJavascript = { kayle: (0, fs_1.readFileSync)(`${__dirname}/runner.js`, "utf-8"), htmlcs: loadRunnerScript("htmlcs", ""), htmlcs_ar: loadRunnerScript("htmlcs", "ar"), htmlcs_es: loadRunnerScript("htmlcs", "es"), htmlcs_ja: loadRunnerScript("htmlcs", "ja"), htmlcs_fr: loadRunnerScript("htmlcs", "fr"), htmlcs_it: loadRunnerScript("htmlcs", "it"), htmlcs_nl: loadRunnerScript("htmlcs", "nl"), htmlcs_pl: loadRunnerScript("htmlcs", "pl"), htmlcs_ko: loadRunnerScript("htmlcs", "ko"), "htmlcs_zh-CN": loadRunnerScript("htmlcs", "zh-CN"), "htmlcs_zh-TW": loadRunnerScript("htmlcs", "zh-TW"), axe: loadRunnerScript("axe", "en"), axe_ar: loadRunnerScript("axe", "ar"), axe_es: loadRunnerScript("axe", "es"), axe_ja: loadRunnerScript("axe", "ja"), axe_fr: loadRunnerScript("axe", "fr"), axe_da: loadRunnerScript("axe", "da"), axe_de: loadRunnerScript("axe", "de"), axe_he: loadRunnerScript("axe", "he"), axe_nl: loadRunnerScript("axe", "nl"), axe_pl: loadRunnerScript("axe", "pl"), axe_ko: loadRunnerScript("axe", "ko"), "axe_zh-CN": loadRunnerScript("axe", "zh-CN"), "axe_no-NB": loadRunnerScript("axe", "no-NB"), "axe_pt-BR": loadRunnerScript("axe", "pt-BR"), }; exports.runnersJavascript = runnersJavascript; const injectRunner = (runner, path, lang) => { runnersJavascript[runner] = loadRunnerScript(path, lang ?? ""); }; exports.injectRunner = injectRunner; const getRunner = (language, runner) => { if (language) { const script = `${runner}_${language}`; if (typeof runnersJavascript[script] !== "undefined") { return runnersJavascript[script]; } } return runnersJavascript[runner]; }; exports.getRunner = getRunner; const extendRunner = (runner, script, lang) => { const runnerType = `${runner}${lang ? `_${lang}` : ""}`; const runnerCode = runnersJavascript[runnerType]; runnersJavascript[runnerType] = `${runnerCode}${script};`; }; exports.extendRunner = extendRunner; //# sourceMappingURL=runner-js.js.map