module Pakyow::Data::Types

Constants

MAPPING

Public Class Methods

type_for(type, additional_types = {}) click to toggle source
# File lib/pakyow/data/types.rb, line 21
def self.type_for(type, additional_types = {})
  if type.is_a?(Dry::Types::Type)
    type
  else
    type = type.to_sym
    additional_types.to_h.fetch(type) {
      MAPPING.fetch(type)
    }
  end
rescue KeyError => error
  raise UnknownType.build(error, type: type, context: {
    type: type, types: MAPPING.keys
  })
end