rbs2ts 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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