@@ -35,6 +35,7 @@ type Person struct {
35
35
Nicknames []string `json:"nicknames"`
36
36
Addresses []Address `json:"addresses"`
37
37
Address * Address `json:"address"`
38
+ Address2 * Address `json:"address2,omitempty"`
38
39
Metadata string `json:"metadata" ts_type:"{[key:string]:string}" ts_transform:"JSON.parse(__VALUE__ || \"{}\")"`
39
40
Friends []* Person `json:"friends"`
40
41
Dummy Dummy `json:"a"`
@@ -59,7 +60,8 @@ export class Person {
59
60
name: string;
60
61
nicknames: string[];
61
62
addresses: Address[];
62
- address?: Address;
63
+ address: Address;
64
+ address2?: Address;
63
65
metadata: {[key:string]:string};
64
66
friends: Person[];
65
67
a: Dummy;
@@ -90,7 +92,8 @@ export class Person {
90
92
name: string;
91
93
nicknames: string[];
92
94
addresses: Address[];
93
- address?: Address;
95
+ address: Address;
96
+ address2?: Address;
94
97
metadata: {[key:string]:string};
95
98
friends: Person[];
96
99
a: Dummy;
@@ -119,7 +122,8 @@ class Person {
119
122
name: string;
120
123
nicknames: string[];
121
124
addresses: Address[];
122
- address?: Address;
125
+ address: Address;
126
+ address2?: Address;
123
127
metadata: {[key:string]:string};
124
128
friends: Person[];
125
129
a: Dummy;
@@ -148,7 +152,8 @@ interface Person {
148
152
name: string;
149
153
nicknames: string[];
150
154
addresses: Address[];
151
- address?: Address;
155
+ address: Address;
156
+ address2?: Address;
152
157
metadata: {[key:string]:string};
153
158
friends: Person[];
154
159
a: Dummy;
@@ -176,7 +181,8 @@ export class Person {
176
181
name: string;
177
182
nicknames: string[];
178
183
addresses: Address[];
179
- address?: Address;
184
+ address: Address;
185
+ address2?: Address;
180
186
metadata: {[key:string]:string};
181
187
friends: Person[];
182
188
a: Dummy;
@@ -217,7 +223,8 @@ class test_Person_test {
217
223
name: string;
218
224
nicknames: string[];
219
225
addresses: test_Address_test[];
220
- address?: test_Address_test;
226
+ address: test_Address_test;
227
+ address2?: test_Address_test;
221
228
metadata: {[key:string]:string};
222
229
friends: test_Person_test[];
223
230
a: test_Dummy_test;
@@ -228,6 +235,7 @@ class test_Person_test {
228
235
this.nicknames = source["nicknames"];
229
236
this.addresses = this.convertValues(source["addresses"], test_Address_test);
230
237
this.address = this.convertValues(source["address"], test_Address_test);
238
+ this.address2 = this.convertValues(source["address2"], test_Address_test);
231
239
this.metadata = JSON.parse(source["metadata"] || "{}");
232
240
this.friends = this.convertValues(source["friends"], test_Person_test);
233
241
this.a = this.convertValues(source["a"], test_Dummy_test);
@@ -752,8 +760,9 @@ export class Person {
752
760
name: string;
753
761
nicknames: string[];
754
762
addresses: Address[];
755
- address?: Address;
756
- metadata: {[key:string]:string};
763
+ address: Address;
764
+ address2?: Address;
765
+ metadata: {[key:string]:string};
757
766
friends: Person[];
758
767
a: Dummy;
759
768
@@ -763,6 +772,7 @@ export class Person {
763
772
this.nicknames = source["nicknames"];
764
773
this.addresses = this.convertValues(source["addresses"], Address);
765
774
this.address = this.convertValues(source["address"], Address);
775
+ this.address2 = this.convertValues(source["address2"], Address);
766
776
this.metadata = JSON.parse(source["metadata"] || "{}");
767
777
this.friends = this.convertValues(source["friends"], Person);
768
778
this.a = this.convertValues(source["a"], Dummy);
@@ -776,7 +786,7 @@ export class Person {
776
786
type WithMap struct {
777
787
Map map [string ]int `json:"simpleMap"`
778
788
MapObjects map [string ]Address `json:"mapObjects"`
779
- PtrMap * map [string ]Address `json:"ptrMapObjects"`
789
+ PtrMap * map [string ]Address `json:"ptrMapObjects,omitempty "`
780
790
}
781
791
782
792
func TestMaps (t * testing.T ) {
@@ -836,7 +846,8 @@ func TestMaps(t *testing.T) {
836
846
func TestPTR (t * testing.T ) {
837
847
t .Parallel ()
838
848
type Person struct {
839
- Name * string `json:"name"`
849
+ Name * string `json:"name"`
850
+ OptionalName * string `json:"optionalName,omitempty"`
840
851
}
841
852
842
853
converter := New ()
@@ -845,7 +856,8 @@ func TestPTR(t *testing.T) {
845
856
converter .Add (Person {})
846
857
847
858
desiredResult := `export class Person {
848
- name?: string;
859
+ name: string;
860
+ optionalName?: string;
849
861
}`
850
862
testConverter (t , converter , true , desiredResult , nil )
851
863
}
@@ -896,7 +908,7 @@ const converter = new Converter();
896
908
class Address {
897
909
street: string;
898
910
number: number;
899
-
911
+
900
912
constructor(a: any) {
901
913
this.street = a["street"];
902
914
this.number = a["number"];
0 commit comments