Class: Rbs2ts::Converter::Declarations::Class

Inherits:
Base
  • Object
show all
Defined in:
lib/rbs2ts/converter/declarations.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize, #name

Constructor Details

This class inherits a constructor from Rbs2ts::Converter::Declarations::Base

Instance Method Details

#member_to_ts(member) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/rbs2ts/converter/declarations.rb', line 60

def member_to_ts(member)
  case member
  when ::RBS::AST::Members::InstanceVariable then
    Converter::Members::InstanceVariable.new(member).to_ts
  when ::RBS::AST::Members::AttrReader then
    Converter::Members::AttrReader.new(member).to_ts
  when ::RBS::AST::Members::AttrWriter then
    Converter::Members::AttrWriter.new(member).to_ts
  when ::RBS::AST::Members::AttrAccessor then
    Converter::Members::AttrAccessor.new(member).to_ts
  when ::RBS::AST::Members::MethodDefinition
    Converter::Members::MethodDefinition.new(member).to_ts
  else
    ''
  end
end

#to_tsObject



47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/rbs2ts/converter/declarations.rb', line 47

def to_ts
  members_ts = declaration.members.map {|member|
    member_to_ts(member)
  }.reject(&:empty?).join("\n")

  <<~TS
    export declare class #{Converter::Helper.convert_name(name)} {
    #{Helper.indent(members_ts)}
    };
  TS
  .chomp
end