ohctechv3/.svn/pristine/4e/4eb7e0a81ca73ab6d35c694d8dd0693b9e1d4b9b.svn-base
2024-10-28 15:03:36 +05:30

30 lines
902 B
Plaintext

// @flow
import getWindow from './getWindow';
declare function isElement(node: mixed): boolean %checks(node instanceof
Element);
function isElement(node) {
const OwnElement = getWindow(node).Element;
return node instanceof OwnElement || node instanceof Element;
}
declare function isHTMLElement(node: mixed): boolean %checks(node instanceof
HTMLElement);
function isHTMLElement(node) {
const OwnElement = getWindow(node).HTMLElement;
return node instanceof OwnElement || node instanceof HTMLElement;
}
declare function isShadowRoot(node: mixed): boolean %checks(node instanceof
ShadowRoot);
function isShadowRoot(node) {
// IE 11 has no ShadowRoot
if (typeof ShadowRoot === 'undefined') {
return false;
}
const OwnElement = getWindow(node).ShadowRoot;
return node instanceof OwnElement || node instanceof ShadowRoot;
}
export { isElement, isHTMLElement, isShadowRoot };