rbs2ts 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63451fb8675f6e0e4420d64d7655385f8b32260c0e17b0ec9f796312372140b3
4
- data.tar.gz: cfa90fb4ec6d06efc412ec1f1f28a000d23c3f16cba28ad0aa5f4cea4d2bda43
3
+ metadata.gz: 4743b73de60833c61821721455c9c6f23cb7e6f9616179df62af629ad9ceb99c
4
+ data.tar.gz: '097d7ccc401a1c0684c433b4fc11279409ff75d6bf99e2b2340953f456d40986'
5
5
  SHA512:
6
- metadata.gz: e8e8b4381ee67f4ad40a5a5cafa2590efe7f698b3f98bbc9625a0f74c975c4924cfd713a4450c67ba45bb346b3f620f2445707c27e09153eefe12ce60b21873a
7
- data.tar.gz: 60832356723c81313fc06afa80a88d16555b815e3c94090db05392bee17f2de7bb30d8a5682cfdd04eaacbd4deeffdb4c1f6df5932b4bb21e5bee357aefdad9e
6
+ metadata.gz: d0b28b0b98c1cb73b247f397da3b64cc0c9c2d9bebd71f54c5a377fbbb9301b5ffd2c337810be8c61e2d71eca5df613707a3b266144816e8dcce31d26c55a095
7
+ data.tar.gz: 5ee48310c33f8ede00253b84037ccfab31a7cbd4cc1262aa041bab223a431b991b6792875d327724f71503c84a81ba1460fe9ad05130f13802a8cdded6cf71f6
data/README.md CHANGED
@@ -52,6 +52,7 @@ type RecordType = {
52
52
  }
53
53
 
54
54
  class Klass
55
+ @val: String
55
56
  attr_accessor a: String
56
57
  attr_reader b: Integer
57
58
  attr_writer c: Bool
@@ -90,7 +91,14 @@ class Klass
90
91
  end
91
92
 
92
93
  module Module
94
+ @val: String
95
+ type AliasType = String
96
+
93
97
  def func: (String, Integer) -> { str: String, int: Integer }
98
+
99
+ class NestedClass
100
+ attr_accessor a: AliasType
101
+ end
94
102
  end
95
103
 
96
104
  interface _Interface
@@ -146,6 +154,7 @@ export type RecordType = {
146
154
  };
147
155
 
148
156
  export declare class Klass {
157
+ val: string;
149
158
  a: string;
150
159
  readonly b: number;
151
160
  c: boolean;
@@ -179,10 +188,15 @@ export declare class Klass {
179
188
  };
180
189
 
181
190
  export namespace Module {
191
+ export declare let val: string;
192
+ export type AliasType = string;
182
193
  export declare function func(arg1: string, arg2: number): {
183
194
  str: string;
184
195
  int: number;
185
196
  };
197
+ export declare class NestedClass {
198
+ a: AliasType;
199
+ };
186
200
  };
187
201
 
188
202
  export interface Interface {
@@ -35,7 +35,7 @@ module Rbs2ts
35
35
  end
36
36
 
37
37
  def name
38
- declaration.name.to_s.gsub(/:/, '')
38
+ declaration.name.name.to_s.gsub(/:/, '')
39
39
  end
40
40
 
41
41
  private
@@ -59,6 +59,8 @@ module Rbs2ts
59
59
 
60
60
  def member_to_ts(member)
61
61
  case member
62
+ when ::RBS::AST::Members::InstanceVariable then
63
+ Converter::Members::InstanceVariable.new(member).to_ts
62
64
  when ::RBS::AST::Members::AttrReader then
63
65
  Converter::Members::AttrReader.new(member).to_ts
64
66
  when ::RBS::AST::Members::AttrWriter then
@@ -89,6 +91,17 @@ module Rbs2ts
89
91
 
90
92
  def member_to_ts(member)
91
93
  case member
94
+ when ::RBS::AST::Declarations::Class then
95
+ Converter::Declarations::Class.new(member).to_ts
96
+ when ::RBS::AST::Declarations::Module then
97
+ Converter::Declarations::Module.new(member).to_ts
98
+ when ::RBS::AST::Declarations::Interface then
99
+ Converter::Declarations::Interface.new(member).to_ts
100
+ when ::RBS::AST::Declarations::Alias then
101
+ Converter::Declarations::Alias.new(member).to_ts
102
+ when ::RBS::AST::Members::InstanceVariable
103
+ ts = Converter::Members::InstanceVariable.new(member).to_ts
104
+ "export declare let #{ts}"
92
105
  when ::RBS::AST::Members::MethodDefinition
93
106
  ts = Converter::Members::MethodDefinition.new(member).to_ts
94
107
  "export declare function #{ts}"
@@ -19,6 +19,12 @@ module Rbs2ts
19
19
  attr_reader :member
20
20
  end
21
21
 
22
+ class InstanceVariable < Base
23
+ def to_ts
24
+ "#{name.gsub(/@/, '')}: #{Converter::Types::Resolver.to_ts(member.type)};"
25
+ end
26
+ end
27
+
22
28
  class AttrReader < Base
23
29
  def to_ts
24
30
  "readonly #{name}: #{Converter::Types::Resolver.to_ts(member.type)};"
@@ -136,7 +136,7 @@ module Rbs2ts
136
136
  when 'Bool' then
137
137
  Types::Bool.new(type).to_ts
138
138
  else
139
- type.name.to_s.gsub(/:/, '')
139
+ type.name.name.to_s.gsub(/:/, '')
140
140
  end
141
141
  end
142
142
  end
@@ -1,3 +1,3 @@
1
1
  module Rbs2ts
2
- VERSION = "1.2.0"
2
+ VERSION = "1.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs2ts
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mugi-uno
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-20 00:00:00.000000000 Z
11
+ date: 2021-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbs