@@ -36,6 +36,7 @@ type Person struct {
36
36
Nicknames []string `json:"nicknames"`
37
37
Addresses []Address `json:"addresses"`
38
38
Address * Address `json:"address"`
39
+ Address2 * Address `json:"address2,omitempty"`
39
40
Metadata string `json:"metadata" ts_type:"{[key:string]:string}" ts_transform:"JSON.parse(__VALUE__ || \"{}\")"`
40
41
Friends []* Person `json:"friends"`
41
42
Dummy Dummy `json:"a"`
@@ -60,7 +61,8 @@ export class Person {
60
61
name: string;
61
62
nicknames: string[];
62
63
addresses: Address[];
63
- address?: Address;
64
+ address: Address;
65
+ address2?: Address;
64
66
metadata: {[key:string]:string};
65
67
friends: Person[];
66
68
a: Dummy;
@@ -91,7 +93,8 @@ export class Person {
91
93
name: string;
92
94
nicknames: string[];
93
95
addresses: Address[];
94
- address?: Address;
96
+ address: Address;
97
+ address2?: Address;
95
98
metadata: {[key:string]:string};
96
99
friends: Person[];
97
100
a: Dummy;
@@ -120,7 +123,8 @@ class Person {
120
123
name: string;
121
124
nicknames: string[];
122
125
addresses: Address[];
123
- address?: Address;
126
+ address: Address;
127
+ address2?: Address;
124
128
metadata: {[key:string]:string};
125
129
friends: Person[];
126
130
a: Dummy;
@@ -149,7 +153,8 @@ interface Person {
149
153
name: string;
150
154
nicknames: string[];
151
155
addresses: Address[];
152
- address?: Address;
156
+ address: Address;
157
+ address2?: Address;
153
158
metadata: {[key:string]:string};
154
159
friends: Person[];
155
160
a: Dummy;
@@ -177,7 +182,8 @@ export class Person {
177
182
name: string;
178
183
nicknames: string[];
179
184
addresses: Address[];
180
- address?: Address;
185
+ address: Address;
186
+ address2?: Address;
181
187
metadata: {[key:string]:string};
182
188
friends: Person[];
183
189
a: Dummy;
@@ -218,7 +224,8 @@ class test_Person_test {
218
224
name: string;
219
225
nicknames: string[];
220
226
addresses: test_Address_test[];
221
- address?: test_Address_test;
227
+ address: test_Address_test;
228
+ address2?: test_Address_test;
222
229
metadata: {[key:string]:string};
223
230
friends: test_Person_test[];
224
231
a: test_Dummy_test;
@@ -229,6 +236,7 @@ class test_Person_test {
229
236
this.nicknames = source["nicknames"];
230
237
this.addresses = this.convertValues(source["addresses"], test_Address_test);
231
238
this.address = this.convertValues(source["address"], test_Address_test);
239
+ this.address2 = this.convertValues(source["address2"], test_Address_test);
232
240
this.metadata = JSON.parse(source["metadata"] || "{}");
233
241
this.friends = this.convertValues(source["friends"], test_Person_test);
234
242
this.a = this.convertValues(source["a"], test_Dummy_test);
@@ -749,8 +757,9 @@ export class Person {
749
757
name: string;
750
758
nicknames: string[];
751
759
addresses: Address[];
752
- address?: Address;
753
- metadata: {[key:string]:string};
760
+ address: Address;
761
+ address2?: Address;
762
+ metadata: {[key:string]:string};
754
763
friends: Person[];
755
764
a: Dummy;
756
765
@@ -760,6 +769,7 @@ export class Person {
760
769
this.nicknames = source["nicknames"];
761
770
this.addresses = this.convertValues(source["addresses"], Address);
762
771
this.address = this.convertValues(source["address"], Address);
772
+ this.address2 = this.convertValues(source["address2"], Address);
763
773
this.metadata = JSON.parse(source["metadata"] || "{}");
764
774
this.friends = this.convertValues(source["friends"], Person);
765
775
this.a = this.convertValues(source["a"], Dummy);
@@ -773,7 +783,7 @@ export class Person {
773
783
type WithMap struct {
774
784
Map map [string ]int `json:"simpleMap"`
775
785
MapObjects map [string ]Address `json:"mapObjects"`
776
- PtrMap * map [string ]Address `json:"ptrMapObjects"`
786
+ PtrMap * map [string ]Address `json:"ptrMapObjects,omitempty "`
777
787
}
778
788
779
789
func TestMaps (t * testing.T ) {
@@ -833,7 +843,8 @@ func TestMaps(t *testing.T) {
833
843
func TestPTR (t * testing.T ) {
834
844
t .Parallel ()
835
845
type Person struct {
836
- Name * string `json:"name"`
846
+ Name * string `json:"name"`
847
+ OptionalName * string `json:"optionalName,omitempty"`
837
848
}
838
849
839
850
converter := New ()
@@ -842,7 +853,8 @@ func TestPTR(t *testing.T) {
842
853
converter .Add (Person {})
843
854
844
855
desiredResult := `export class Person {
845
- name?: string;
856
+ name: string;
857
+ optionalName?: string;
846
858
}`
847
859
testConverter (t , converter , true , desiredResult , nil )
848
860
}
@@ -893,7 +905,7 @@ const converter = new Converter();
893
905
class Address {
894
906
street: string;
895
907
number: number;
896
-
908
+
897
909
constructor(a: any) {
898
910
this.street = a["street"];
899
911
this.number = a["number"];
0 commit comments