Sha256: 82d86bfc010b4f1122497d137e7ed300d60de142c15499cea19f97cf248ea028

Contents?: true

Size: 895 Bytes

Versions: 27

Compression:

Stored size: 895 Bytes

Contents

Foobara.require_project_file("type_declarations", "desugarizer")

module Foobara
  module TypeDeclarations
    module Handlers
      class RegisteredTypeDeclaration < TypeDeclarationHandler
        # type_symbol is basically just a flag that lets us know that type is fully qualified.
        # rather hacky but other potential workarounds seemed gnarlier
        class DesugarizerMetadataCleanupDesugarizer < TypeDeclarations::Desugarizer
          def applicable?(strict_type_declaration)
            strict_type_declaration.is_a?(::Hash)
          end

          def desugarize(strict_type_declaration)
            strict_type_declaration = strict_type_declaration.dup

            strict_type_declaration.delete(:_desugarized)

            strict_type_declaration
          end

          def priority
            Priority::LOWEST + 100
          end
        end
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
foobara-0.0.7 projects/type_declarations/src/handlers/registered_type_declaration/desugarizer_metadata_cleanup_desugarizer.rb
foobara-0.0.6 projects/type_declarations/src/handlers/registered_type_declaration/desugarizer_metadata_cleanup_desugarizer.rb
foobara-0.0.5 projects/type_declarations/src/handlers/registered_type_declaration/desugarizer_metadata_cleanup_desugarizer.rb
foobara-0.0.4 projects/type_declarations/src/handlers/registered_type_declaration/desugarizer_metadata_cleanup_desugarizer.rb
foobara-0.0.3 projects/type_declarations/src/handlers/registered_type_declaration/desugarizer_metadata_cleanup_desugarizer.rb
foobara-0.0.2 projects/type_declarations/src/handlers/registered_type_declaration/desugarizer_metadata_cleanup_desugarizer.rb
foobara-0.0.1 projects/type_declarations/src/handlers/registered_type_declaration/desugarizer_metadata_cleanup_desugarizer.rb