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 +4 -4
- data/lib/rbs2ts/converter/declarations.rb +5 -5
- data/lib/rbs2ts/converter/helper.rb +22 -0
- data/lib/rbs2ts/converter/members.rb +2 -2
- data/lib/rbs2ts/converter/types.rb +2 -2
- data/lib/rbs2ts/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bce4c75f9675cfc5cccfac710ac9547d5c33153e76e5ef1299bc1f1808612f05
|
4
|
+
data.tar.gz: c550da676c3b095c07438e7085f176f8fa150d061ba10803ea9bb0805917067d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
-
|
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
|
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
|
-
"#{
|
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
|
139
|
+
Converter::Helper.convert_name(type.name.name)
|
140
140
|
end
|
141
141
|
end
|
142
142
|
end
|
data/lib/rbs2ts/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2021-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rbs
|