All files isCollection.js

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

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                            28x 12x          
import getType from "./getType.js";
 
/**
 * Check if a value is one of `Array`, `Map`, `PlainObject`, `Set`, `WeakMap`, `WeakSet`
 * @param {*} value The value to check
 * @returns {Boolean}
 * @example
 * const v1 = [1, 2, 3];
 * isCollection(v1); // true
 * const v2 = { a: 1, b: 2, c: 3 };
 * isCollection(v2); // true
 * const v3 = () => {};
 * isCollection(v3); // false
 */
const isCollection = (value) =>
    ["Array", "Map", "PlainObject", "Set", "WeakMap", "WeakSet"].includes(
        getType(value)
    );
 
export default isCollection;