Sha256: 9eff8e990c6f9cc72a9416299830a3fad837bd8c96040d80c66578a1c43111d0

Contents?: true

Size: 893 Bytes

Versions: 24

Compression:

Stored size: 893 Bytes

Contents

# frozen_string_literal: true

require_relative "base"

module ERBLint
  module Linters
    module ArgumentMappers
      # Maps classes in a flash element to arguments for the Flash component.
      class Flash < Base
        SCHEME_MAPPINGS = Primer::ViewComponents::Constants.get(
          component: "Primer::FlashComponent",
          constant: "SCHEME_MAPPINGS",
          symbolize: true
        ).freeze

        def classes_to_args(classes)
          classes.each_with_object({ classes: [] }) do |class_name, acc|
            next if class_name == "flash"

            if SCHEME_MAPPINGS[class_name] && acc[:scheme].nil?
              acc[:scheme] = SCHEME_MAPPINGS[class_name]
            elsif class_name == "flash-full"
              acc[:full] = true
            else
              acc[:classes] << class_name
            end
          end
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
primer_view_components-0.0.76 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.75 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.74 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.73 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.72 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.71 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.70 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.69 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.68 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.67 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.66 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.65 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.64 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.63 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.62 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.61 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.60 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.59 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.58 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.0.57 lib/primer/view_components/linters/argument_mappers/flash.rb