UNPKG

judocss

Version:

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

50 lines (38 loc) 1.17 kB
"use strict"; (function () { var findKeyCache = {}; function _findKey(regMap, className) { className = className.replace(/--(small|medium|large|small-only|medium-only)\*?$/, ""); var parts = className.split("-"); if (parts.length <= 1) { return className; } var i = parts.length; var key = void 0; 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]; } var lookup = function lookup(className, classMap) { var key = findKey(classMap, className); var entries = classMap[key]; if (entries) { var i = entries.length; while (i--) { var entry = entries[i]; if (entry.regex.test(className)) { return entry; } } } }; module.exports = lookup; })();