UNPKG

judocss

Version:

The functional CSS toolkit designed for minimal effort and maximum efficiency.

49 lines (37 loc) 1.11 kB
(function() { let findKeyCache = {} function _findKey(regMap, className) { className = className.replace(/--(small|medium|large|small-only|medium-only)\*?$/, "") let parts = className.split("-") if (parts.length <= 1) { return className } let i = parts.length let key while (i--) { parts.pop() key = parts.join("-") + "-" if (regMap[key]) { return key } } } function findKey(regMap, className) { findKeyCache[className] = findKeyCache[className] || _findKey(regMap, className) return findKeyCache[className] } const lookup = (className, classMap) => { let key = findKey(classMap, className) let entries = classMap[key] if (entries) { let i = entries.length while (i--) { let entry = entries[i] if (entry.regex.test(className)) { return entry } } } } module.exports = lookup; })()