| /* eslint-disable no-bitwise, no-cond-assign */ |
| |
| /** |
| * Checks if an element contains another given element. |
| * |
| * @param context the context element |
| * @param node the element to check |
| */ |
| export default function contains(context, node) { |
| // HTML DOM and SVG DOM may have different support levels, |
| // so we need to check on context instead of a document root element. |
| if (context.contains) return context.contains(node); |
| if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16); |
| } |