Sha256: 70068a67d03273a6cccece5ae64ec6575fc890e18c931d41b90f2e4b1884adf4

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

module Script
  module Layers
    module Application
      class ExtensionPoints
        def self.get(type:)
          Infrastructure::ExtensionPointRepository.new.get_extension_point(type)
        end

        def self.types
          Infrastructure::ExtensionPointRepository.new.extension_point_types
        end

        def self.non_deprecated_types
          Infrastructure::ExtensionPointRepository.new.extension_points.select do |ep|
            !ep.deprecated?
          end.map(&:type)
        end

        def self.deprecated_types
          Infrastructure::ExtensionPointRepository.new
            .extension_points
            .select(&:deprecated?)
            .map(&:type)
        end

        def self.languages(type:)
          get(type: type).sdks.all.map do |sdk|
            next nil if sdk.beta? && !ShopifyCli::Feature.enabled?(:scripts_beta_languages)
            sdk.class.language
          end.compact
        end

        def self.supported_language?(type:, language:)
          languages(type: type).include?(language.downcase)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
shopify-cli-1.8.0 lib/project_types/script/layers/application/extension_points.rb
shopify-cli-1.7.1 lib/project_types/script/layers/application/extension_points.rb
shopify-cli-1.7.0 lib/project_types/script/layers/application/extension_points.rb
shopify-cli-1.6.0 lib/project_types/script/layers/application/extension_points.rb