vanillajs-browser-helpers
Version:
Collection of convenience code snippets (helpers) that aims to make it a little easier to work with vanilla JS in the browser
33 lines (32 loc) • 1.29 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.hasAnyClass = void 0;
const isString_1 = __importDefault(require("vanillajs-helpers/isString"));
/**
* Does all (or any) of the listed class names exist in the DOM elements list of class names
*
* @param elm - DOM element to test
* @param classNames - Class names to test
* @param any - Test if at least one class name exist
* @return All/any class names listed were found in the elements list of class names
*/
function hasClass(elm, classNames, any) {
const checkFn = any ? 'some' : 'every';
const cns = isString_1.default(classNames) ? [classNames] : classNames;
return cns[checkFn]((cn) => elm.classList.contains(cn));
}
exports.default = hasClass;
/**
* Does any of the listed class names exist in the DOM elements list of class names
*
* @param elm - DOM element to test
* @param classNames - Class names to test
* @return At least one of the class names listed were found in the elements list of class names
*/
function hasAnyClass(elm, classNames) {
return hasClass(elm, classNames, true);
}
exports.hasAnyClass = hasAnyClass;