module RbsTsGenerator::RbsTypesConvertible

Public Instance Methods

param_to_s() click to toggle source
# File lib/generators/rbs_ts/rbs_types_convertible.rb, line 47
def param_to_s
  params = []
  params.push(*required_positionals.map { |param| "#{param.name}: #{param.type}" })
  params.push(*optional_positionals.map {|param| "#{param.name}?: #{param.type}" })
  raise 'Unsupported' if rest_positionals
  params.push(*trailing_positionals.map { |param| "#{param.name}: #{param.type}" })
  params.push(*required_keywords.map {|name, param| "#{name}: #{param}" })
  params.push(*optional_keywords.map {|name, param| "#{name}?: #{param}" })
  raise 'Unsupported' if rest_keywords

  return '' if params.empty?

  "{ #{params.join("; ")} }"
end
return_to_s() click to toggle source
# File lib/generators/rbs_ts/rbs_types_convertible.rb, line 62
def return_to_s
  return_type.to_s
end
to_s() click to toggle source
# File lib/generators/rbs_ts/rbs_types_convertible.rb, line 41
def to_s
  type.to_s
end
to_ts_params_type() click to toggle source
# File lib/generators/rbs_ts/rbs_types_convertible.rb, line 16
def to_ts_params_type
  raise 'Unsupported' unless type_params.empty?

  s = case
      when block && block.required
        raise 'Unsupported'
      when block
        raise 'Unsupported'
      else
        type.param_to_s
      end

  if type_params.empty?
    s
  else
    raise 'Unsuported'
  end
end
to_ts_return_type() click to toggle source
# File lib/generators/rbs_ts/rbs_types_convertible.rb, line 35
def to_ts_return_type
  type.return_to_s
end