rbs2ts 1.3.0 → 1.3.1

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: 4743b73de60833c61821721455c9c6f23cb7e6f9616179df62af629ad9ceb99c
4
- data.tar.gz: '097d7ccc401a1c0684c433b4fc11279409ff75d6bf99e2b2340953f456d40986'
3
+ metadata.gz: bce4c75f9675cfc5cccfac710ac9547d5c33153e76e5ef1299bc1f1808612f05
4
+ data.tar.gz: c550da676c3b095c07438e7085f176f8fa150d061ba10803ea9bb0805917067d
5
5
  SHA512:
6
- metadata.gz: d0b28b0b98c1cb73b247f397da3b64cc0c9c2d9bebd71f54c5a377fbbb9301b5ffd2c337810be8c61e2d71eca5df613707a3b266144816e8dcce31d26c55a095
7
- data.tar.gz: 5ee48310c33f8ede00253b84037ccfab31a7cbd4cc1262aa041bab223a431b991b6792875d327724f71503c84a81ba1460fe9ad05130f13802a8cdded6cf71f6
6
+ metadata.gz: 34aa7a35786539f22d03e58e25902fdc4a074bd76bc1b54d05dc2a52b9bb1864e27f4a2a1eea916fb6e06e62a1371b9490b40e117f119dd70bb31b250c010769
7
+ data.tar.gz: 76ba38c3514225a63ecd288d17891281c5b1b90a1edea1e8a655b3d91357a62eb6b8c02fa100c93e4505d5819ac8526dfd0d2fc87e9f9eec7dae65633eb15518
@@ -35,7 +35,7 @@ module Rbs2ts
35
35
  end
36
36
 
37
37
  def name
38
- declaration.name.name.to_s.gsub(/:/, '')
38
+ declaration.name.name.to_s
39
39
  end
40
40
 
41
41
  private
@@ -50,7 +50,7 @@ module Rbs2ts
50
50
  }.reject(&:empty?).join("\n")
51
51
 
52
52
  <<~TS
53
- export declare class #{name} {
53
+ export declare class #{Converter::Helper.convert_name(name)} {
54
54
  #{Helper.indent(members_ts)}
55
55
  };
56
56
  TS
@@ -82,7 +82,7 @@ module Rbs2ts
82
82
  }.reject(&:empty?).join("\n")
83
83
 
84
84
  <<~TS
85
- export namespace #{name} {
85
+ export namespace #{Converter::Helper.convert_name(name)} {
86
86
  #{Helper.indent(members_ts)}
87
87
  };
88
88
  TS
@@ -118,7 +118,7 @@ module Rbs2ts
118
118
  }.reject(&:empty?).join("\n")
119
119
 
120
120
  <<~TS
121
- export interface #{name.gsub(/_/, '')} {
121
+ export interface #{Converter::Helper.convert_name(name.gsub(/_/, ''))} {
122
122
  #{Helper.indent(members_ts)}
123
123
  };
124
124
  TS
@@ -137,7 +137,7 @@ module Rbs2ts
137
137
 
138
138
  class Alias < Base
139
139
  def to_ts
140
- "export type #{name} = #{Converter::Types::Resolver.to_ts(declaration.type)};"
140
+ "export type #{Converter::Helper.convert_name(name)} = #{Converter::Types::Resolver.to_ts(declaration.type)};"
141
141
  end
142
142
  end
143
143
 
@@ -10,6 +10,28 @@ module Rbs2ts
10
10
  .map {|t| "#{INDENT * level}#{t}" }
11
11
  .join("\n")
12
12
  end
13
+
14
+ TS_RESERVED_WORDS = %w(
15
+ any as boolean break case catch class const constructor continue debugger declare
16
+ default delete do else enum export extends false finally for from function get if
17
+ implements import in instanceof interface let module new null number of package
18
+ private protected public require return set static string super switch symbol
19
+ this throw true try type typeof var void while with yield
20
+ )
21
+
22
+ def convert_name(org_name)
23
+ name = org_name.to_s.gsub(/[:@]/, '')
24
+
25
+ unless name =~ /^[A-Z]/
26
+ name = CaseTransform.camel_lower(name)
27
+ end
28
+
29
+ if TS_RESERVED_WORDS.include?(name)
30
+ "#{name}Type"
31
+ else
32
+ name
33
+ end
34
+ end
13
35
  end
14
36
  end
15
37
  end
@@ -11,7 +11,7 @@ module Rbs2ts
11
11
  end
12
12
 
13
13
  def name
14
- CaseTransform.camel_lower(member.name.to_s.gsub(/:/, ''))
14
+ Converter::Helper.convert_name(member.name)
15
15
  end
16
16
 
17
17
  private
@@ -21,7 +21,7 @@ module Rbs2ts
21
21
 
22
22
  class InstanceVariable < Base
23
23
  def to_ts
24
- "#{name.gsub(/@/, '')}: #{Converter::Types::Resolver.to_ts(member.type)};"
24
+ "#{name}: #{Converter::Types::Resolver.to_ts(member.type)};"
25
25
  end
26
26
  end
27
27
 
@@ -48,7 +48,7 @@ module Rbs2ts
48
48
  class Record < ConverterBase
49
49
  def to_ts
50
50
  field_lines = type.fields.map { |name, type|
51
- "#{CaseTransform.camel_lower(name.to_s)}: #{Types::Resolver.to_ts(type)};"
51
+ "#{Converter::Helper.convert_name(name)}: #{Types::Resolver.to_ts(type)};"
52
52
  }
53
53
 
54
54
  return '{}' if field_lines.empty?
@@ -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.name.to_s.gsub(/:/, '')
139
+ Converter::Helper.convert_name(type.name.name)
140
140
  end
141
141
  end
142
142
  end
@@ -1,3 +1,3 @@
1
1
  module Rbs2ts
2
- VERSION = "1.3.0"
2
+ VERSION = "1.3.1"
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.3.0
4
+ version: 1.3.1
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-23 00:00:00.000000000 Z
11
+ date: 2021-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbs