All files isElementCollection.js

100% Statements 2/2
100% Branches 0/0
100% Functions 1/1
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28                                                  35x    
/**
 * Type detection beyond `typeof`
 * 
 * Copyright (C) 2022  Dieter Raber
 * https://opensource.org/licenses/MIT
 */
import getType from "./getType.js";
 
/**
 * Check if a value is a custom element
 * @param {*} value The value to check
 * @returns {Boolean}
 * @example 
 * const v1 = document.forms;
 * isElementCollection(v1); // true
 * 
 * const v2 = document.querySelectorAll("li");
 * isElementCollection(v2); // true
 * 
 * const v3 = Array.from(document.forms);
 * isElementCollection(v3); // false
 * 
 * const v4 = Array.from(document.querySelectorAll("li"));
 * isElementCollection(v4); // false
 */
const isElementCollection = (value) => ['NodeList', 'HTMLCollection'].includes(getType(value));
 
export default isElementCollection;