UNPKG

glance-dom

Version:
48 lines (33 loc) 1.36 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _xpath = require('../lib/xpath'); var _xpath2 = _interopRequireDefault(_xpath); var _log = require('../../utils/log'); var _log2 = _interopRequireDefault(_log); var _reduce = require('@arr/reduce'); var _reduce2 = _interopRequireDefault(_reduce); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { locator: { check: function check(_ref) { var option = _ref.option; return isNaN(option) && option.indexOf('attribute-') > -1; }, locate: function locate(_ref2) { var label = _ref2.label, option = _ref2.option, containerElements = _ref2.containerElements; if (isNaN(option) && option.indexOf('attribute-') > -1) { return (0, _reduce2.default)(containerElements, function (totalResult, containerElement) { var key = option.slice('attribute-'.length); _log2.default.debug('Searching ' + key + ' attribute:', label); var result = (0, _xpath2.default)('.//*[contains(translate(@' + key + ', \'ABCDEFGHJIKLMNOPQRSTUVWXYZ\', \'abcdefghjiklmnopqrstuvwxyz\'), translate(\'' + label + '\', \'ABCDEFGHJIKLMNOPQRSTUVWXYZ\', \'abcdefghjiklmnopqrstuvwxyz\'))]', containerElement); return totalResult.concat(result); }, []); } return []; } } };