You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.3 KiB

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.bindByA11yValueQueries = void 0;
var _accessiblity = require("../helpers/accessiblity");
var _deprecation = require("../helpers/deprecation");
var _findAll = require("../helpers/findAll");
var _accessibilityValue = require("../helpers/matchers/accessibilityValue");
var _makeQueries = require("./makeQueries");
const queryAllByA11yValue = instance => function queryAllByA11yValueFn(value, queryOptions) {
return (0, _findAll.findAll)(instance, node => typeof node.type === 'string' && (0, _accessibilityValue.matchAccessibilityValue)(node, value), queryOptions);
};
const formatQueryParams = matcher => {
const params = [];
_accessiblity.accessiblityValueKeys.forEach(valueKey => {
if (matcher[valueKey] !== undefined) {
params.push(`${valueKey} value: ${matcher[valueKey]}`);
}
});
return params.join(', ');
};
const getMultipleError = matcher => `Found multiple elements with ${formatQueryParams(matcher)}`;
const getMissingError = matcher => `Unable to find an element with ${formatQueryParams(matcher)}`;
const {
getBy,
getAllBy,
queryBy,
queryAllBy,
findBy,
findAllBy
} = (0, _makeQueries.makeQueries)(queryAllByA11yValue, getMissingError, getMultipleError);
const bindByA11yValueQueries = instance => {
const getByA11yValue = getBy(instance);
const getAllByA11yValue = getAllBy(instance);
const queryByA11yValue = queryBy(instance);
const queryAllByA11yValue = queryAllBy(instance);
const findByA11yValue = findBy(instance);
const findAllByA11yValue = findAllBy(instance);
return {
...(0, _deprecation.deprecateQueries)({
getByA11yValue,
getAllByA11yValue,
queryByA11yValue,
queryAllByA11yValue,
findByA11yValue,
findAllByA11yValue,
getByAccessibilityValue: getByA11yValue,
getAllByAccessibilityValue: getAllByA11yValue,
queryByAccessibilityValue: queryByA11yValue,
queryAllByAccessibilityValue: queryAllByA11yValue,
findByAccessibilityValue: findByA11yValue,
findAllByAccessibilityValue: findAllByA11yValue
}, 'Use expect(...).toHaveAccessibilityValue(...) matcher from "@testing-library/jest-native" package or {queryPrefix}ByRole(role, { value: ... }) query instead.')
};
};
exports.bindByA11yValueQueries = bindByA11yValueQueries;
//# sourceMappingURL=a11yValue.js.map