rbs2ts 1.3.0 → 1.3.1

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: 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