Class: TailwindMerge::Merger
- Inherits:
-
Object
- Object
- TailwindMerge::Merger
- Includes:
- Config, ModifierUtils
- Defined in:
- lib/tailwind_merge.rb
Constant Summary collapse
- SPLIT_CLASSES_REGEX =
/\s+/
Constants included from ModifierUtils
TailwindMerge::ModifierUtils::IMPORTANT_MODIFIER
Constants included from Config
Config::ALIGN, Config::BLEND_MODES, Config::BREAKS, Config::DEFAULTS, Config::LENGTH_WITH_EMPTY_AND_ARBITRARY, Config::LINE_STYLES, Config::NUMBER_AND_ARBITRARY, Config::NUMBER_WITH_AUTO_AND_ARBITRARY, Config::OVERFLOW, Config::OVERSCROLL, Config::POSITIONS, Config::SPACING_WITH_ARBITRARY, Config::SPACING_WITH_AUTO_AND_ARBITRARY, Config::THEME_KEYS, Config::VALID_THEME_IDS, Config::ZERO_AND_EMPTY
Constants included from Validators
Validators::ARBITRARY_VALUE_REGEX, Validators::COLOR_FUNCTION_REGEX, Validators::FRACTION_REGEX, Validators::IMAGE_LABELS, Validators::IMAGE_REGEX, Validators::IS_ANY, Validators::IS_ARBITRARY_IMAGE, Validators::IS_ARBITRARY_LENGTH, Validators::IS_ARBITRARY_NUMBER, Validators::IS_ARBITRARY_POSITION, Validators::IS_ARBITRARY_SHADOW, Validators::IS_ARBITRARY_SIZE, Validators::IS_ARBITRARY_VALUE, Validators::IS_INTEGER, Validators::IS_LENGTH, Validators::IS_NUMBER, Validators::IS_PERCENT, Validators::IS_TSHIRT_SIZE, Validators::LENGTH_UNIT_REGEX, Validators::SHADOW_REGEX, Validators::SIZE_LABELS, Validators::STRING_LENGTHS, Validators::TSHIRT_UNIT_REGEX
Instance Method Summary collapse
-
#initialize(config: {}) ⇒ Merger
constructor
A new instance of Merger.
- #merge(classes) ⇒ Object
Methods included from ModifierUtils
#sort_modifiers, #split_modifiers
Methods included from Config
Methods included from Validators
arbitrary_value?, integer?, numeric?
Constructor Details
#initialize(config: {}) ⇒ Merger
Returns a new instance of Merger.
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/tailwind_merge.rb', line 21 def initialize(config: {}) @config = if config.key?(:theme) merge_configs(config) else TailwindMerge::Config::DEFAULTS.merge(config) end @class_utils = TailwindMerge::ClassUtils.new(@config) @cache = LruRedux::Cache.new(@config[:cache_size], @config[:ignore_empty_cache]) end |
Instance Method Details
#merge(classes) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/tailwind_merge.rb', line 32 def merge(classes) normalized = classes.is_a?(Array) ? classes.compact.join(" ") : classes.to_s @cache.getset(normalized) do merge_class_list(normalized).freeze end end |