12345678910111213141516171819202122232425262728293031323334353637 |
- "use strict";
-
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
-
- exports.__esModule = true;
- exports.default = matches;
-
- var _inDOM = _interopRequireDefault(require("../util/inDOM"));
-
- var _querySelectorAll = _interopRequireDefault(require("./querySelectorAll"));
-
- var matchesCache;
-
- function matches(node, selector) {
- if (!matchesCache && _inDOM.default) {
- var body = document.body;
- var nativeMatch = body.matches || body.matchesSelector || body.webkitMatchesSelector || body.mozMatchesSelector || body.msMatchesSelector;
- matchesCache = nativeMatch ? function (node, selector) {
- return nativeMatch.call(node, selector);
- } : ie8MatchesSelector;
- }
-
- return matchesCache ? matchesCache(node, selector) : null;
- }
-
- function ie8MatchesSelector(node, selector) {
- var matches = (0, _querySelectorAll.default)(node.document || node.ownerDocument, selector),
- i = 0;
-
- while (matches[i] && matches[i] !== node) {
- i++;
- }
-
- return !!matches[i];
- }
-
- module.exports = exports["default"];
|