diff options
Diffstat (limited to 'popperjs/package/lib/dom-utils/instanceOf.js.flow')
-rw-r--r-- | popperjs/package/lib/dom-utils/instanceOf.js.flow | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/popperjs/package/lib/dom-utils/instanceOf.js.flow b/popperjs/package/lib/dom-utils/instanceOf.js.flow new file mode 100644 index 0000000..28f6477 --- /dev/null +++ b/popperjs/package/lib/dom-utils/instanceOf.js.flow @@ -0,0 +1,29 @@ +// @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 }; |