foop
Version:
interfaces that describe their intentions.
34 lines (31 loc) • 2.72 kB
JavaScript
var isObjectNotNull = require('./objNotNull')
var isPlainObject = require('./objPlain')
/**
* Checks if `x` is likely a DOM element.
*
* @since 5.0.0-beta.5
* @fork 0.1.0
* @category Lang
* @param {*} x The x to check.
* @return {boolean} Returns `true` if `x` is a DOM element, else `false`.
*
* {@link https://github.com/sstephenson/prototype/blob/master/src/prototype/lang/object.js#L347 prototype-is-element}
* {@link https://github.com/lodash/lodash/blob/master/isElement.js lodash-is-element}
* @see {@link lodash-is-element}
* @see {@link prototype-is-element}
*
* @example
*
* isElement(document.body)
* //=> true
*
* isElement('<body>')
* //=> false
*
*/
function isElement(x) {
// typeof HTMLElement === 'object' ? o instanceof HTMLElement : // DOM2
return isObjectNotNull(x) && x.nodeType === 1 && !isPlainObject(x)
}
module.exports = isElement
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiZWxlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpc09iamVjdE5vdE51bGwgPSByZXF1aXJlKCcuL29iak5vdE51bGwnKVxuY29uc3QgaXNQbGFpbk9iamVjdCA9IHJlcXVpcmUoJy4vb2JqUGxhaW4nKVxuXG4vKipcbiAqIENoZWNrcyBpZiBgeGAgaXMgbGlrZWx5IGEgRE9NIGVsZW1lbnQuXG4gKlxuICogQHNpbmNlIDUuMC4wLWJldGEuNVxuICogQGZvcmsgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHggVGhlIHggdG8gY2hlY2suXG4gKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgeGAgaXMgYSBET00gZWxlbWVudCwgZWxzZSBgZmFsc2VgLlxuICpcbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vc3N0ZXBoZW5zb24vcHJvdG90eXBlL2Jsb2IvbWFzdGVyL3NyYy9wcm90b3R5cGUvbGFuZy9vYmplY3QuanMjTDM0NyBwcm90b3R5cGUtaXMtZWxlbWVudH1cbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2xvZGFzaC9ibG9iL21hc3Rlci9pc0VsZW1lbnQuanMgbG9kYXNoLWlzLWVsZW1lbnR9XG4gKiBAc2VlIHtAbGluayBsb2Rhc2gtaXMtZWxlbWVudH1cbiAqIEBzZWUge0BsaW5rIHByb3RvdHlwZS1pcy1lbGVtZW50fVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogICBpc0VsZW1lbnQoZG9jdW1lbnQuYm9keSlcbiAqICAgLy89PiB0cnVlXG4gKlxuICogICBpc0VsZW1lbnQoJzxib2R5PicpXG4gKiAgIC8vPT4gZmFsc2VcbiAqXG4gKi9cbmZ1bmN0aW9uIGlzRWxlbWVudCh4KSB7XG4gIC8vIHR5cGVvZiBIVE1MRWxlbWVudCA9PT0gJ29iamVjdCcgPyBvIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgOiAvLyBET00yXG4gIHJldHVybiBpc09iamVjdE5vdE51bGwoeCkgJiYgeC5ub2RlVHlwZSA9PT0gMSAmJiAhaXNQbGFpbk9iamVjdCh4KVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzRWxlbWVudFxuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO0FBQy9DQSxHQUFLLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5QjNDLFNBQVMsU0FBUyxDQUFDLENBQUMsRUFBRTs7RUFFcEIsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0NBQ25FOztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUzsifQ==