|
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true }); exports.findByTitle = exports.findAllByTitle = exports.getAllByTitle = exports.getByTitle = exports.queryAllByTitle = exports.queryByTitle = void 0;
var _queryHelpers = require("../query-helpers");
var _helpers = require("../helpers");
var _allUtils = require("./all-utils");
const isSvgTitle = node => { var _node$parentElement;
return node.tagName.toLowerCase() === 'title' && ((_node$parentElement = node.parentElement) == null ? void 0 : _node$parentElement.tagName.toLowerCase()) === 'svg'; };
function queryAllByTitle(container, text, { exact = true, collapseWhitespace, trim, normalizer } = {}) { (0, _helpers.checkContainerType)(container); const matcher = exact ? _allUtils.matches : _allUtils.fuzzyMatches; const matchNormalizer = (0, _allUtils.makeNormalizer)({ collapseWhitespace, trim, normalizer }); return Array.from(container.querySelectorAll('[title], svg > title')).filter(node => matcher(node.getAttribute('title'), node, text, matchNormalizer) || isSvgTitle(node) && matcher((0, _allUtils.getNodeText)(node), node, text, matchNormalizer)); }
const getMultipleError = (c, title) => `Found multiple elements with the title: ${title}.`;
const getMissingError = (c, title) => `Unable to find an element with the title: ${title}.`;
const queryAllByTitleWithSuggestions = (0, _queryHelpers.wrapAllByQueryWithSuggestion)(queryAllByTitle, queryAllByTitle.name, 'queryAll'); exports.queryAllByTitle = queryAllByTitleWithSuggestions; const [queryByTitle, getAllByTitle, getByTitle, findAllByTitle, findByTitle] = (0, _allUtils.buildQueries)(queryAllByTitle, getMultipleError, getMissingError); exports.findByTitle = findByTitle; exports.findAllByTitle = findAllByTitle; exports.getByTitle = getByTitle; exports.getAllByTitle = getAllByTitle; exports.queryByTitle = queryByTitle;
|