Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit86e1b92

Browse files
committed
chore: generate countries.tsx from go code
1 parent10d718f commit86e1b92

File tree

6 files changed

+585
-28
lines changed

6 files changed

+585
-28
lines changed

‎cli/login.go

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -530,36 +530,13 @@ func promptDevelopers(inv *serpent.Invocation) (string, error) {
530530
}
531531

532532
funcpromptCountry(inv*serpent.Invocation) (string,error) {
533-
countries:= []string{
534-
"Afghanistan","Åland Islands","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua and Barbuda",
535-
"Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados",
536-
"Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia, Plurinational State of","Bonaire, Sint Eustatius and Saba","Bosnia and Herzegovina","Botswana",
537-
"Bouvet Island","Brazil","British Indian Ocean Territory","Brunei Darussalam","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada",
538-
"Cape Verde","Cayman Islands","Central African Republic","Chad","Chile","China","Christmas Island","Cocos (Keeling) Islands","Colombia","Comoros",
539-
"Congo","Congo, the Democratic Republic of the","Cook Islands","Costa Rica","Côte d'Ivoire","Croatia","Cuba","Curaçao","Cyprus","Czech Republic",
540-
"Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia",
541-
"Ethiopia","Falkland Islands (Malvinas)","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon",
542-
"Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam",
543-
"Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Heard Island and McDonald Islands","Holy See (Vatican City State)","Honduras","Hong Kong",
544-
"Hungary","Iceland","India","Indonesia","Iran, Islamic Republic of","Iraq","Ireland","Isle of Man","Israel","Italy",
545-
"Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Korea, Democratic People's Republic of","Korea, Republic of","Kuwait",
546-
"Kyrgyzstan","Lao People's Democratic Republic","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg",
547-
"Macao","Macedonia, the Former Yugoslav Republic of","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique",
548-
"Mauritania","Mauritius","Mayotte","Mexico","Micronesia, Federated States of","Moldova, Republic of","Monaco","Mongolia","Montenegro","Montserrat",
549-
"Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Nicaragua",
550-
"Niger","Nigeria","Niue","Norfolk Island","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestine, State of",
551-
"Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn","Poland","Portugal","Puerto Rico","Qatar",
552-
"Réunion","Romania","Russian Federation","Rwanda","Saint Barthélemy","Saint Helena, Ascension and Tristan da Cunha","Saint Kitts and Nevis","Saint Lucia","Saint Martin (French part)","Saint Pierre and Miquelon",
553-
"Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore",
554-
"Sint Maarten (Dutch part)","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia and the South Sandwich Islands","South Sudan","Spain","Sri Lanka",
555-
"Sudan","Suriname","Svalbard and Jan Mayen","Swaziland","Sweden","Switzerland","Syrian Arab Republic","Taiwan, Province of China","Tajikistan","Tanzania, United Republic of",
556-
"Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands",
557-
"Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","United States Minor Outlying Islands","Uruguay","Uzbekistan","Vanuatu",
558-
"Venezuela, Bolivarian Republic of","Vietnam","Virgin Islands, British","Virgin Islands, U.S.","Wallis and Futuna","Western Sahara","Yemen","Zambia","Zimbabwe",
533+
options:=make([]string,len(codersdk.Countries))
534+
fori,country:=rangecodersdk.Countries {
535+
options[i]=country.Name
559536
}
560537

561538
selection,err:=cliui.Select(inv, cliui.SelectOptions{
562-
Options:countries,
539+
Options:options,
563540
Message:"Select the country:",
564541
HideSearch:false,
565542
})

‎codersdk/countries.go

Lines changed: 259 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,259 @@
1+
package codersdk
2+
3+
varCountries= []Country{
4+
{Name:"Afghanistan",Flag:"🇦🇫"},
5+
{Name:"Åland Islands",Flag:"🇦🇽"},
6+
{Name:"Albania",Flag:"🇦🇱"},
7+
{Name:"Algeria",Flag:"🇩🇿"},
8+
{Name:"American Samoa",Flag:"🇦🇸"},
9+
{Name:"Andorra",Flag:"🇦🇩"},
10+
{Name:"Angola",Flag:"🇦🇴"},
11+
{Name:"Anguilla",Flag:"🇦🇮"},
12+
{Name:"Antarctica",Flag:"🇦🇶"},
13+
{Name:"Antigua and Barbuda",Flag:"🇦🇬"},
14+
{Name:"Argentina",Flag:"🇦🇷"},
15+
{Name:"Armenia",Flag:"🇦🇲"},
16+
{Name:"Aruba",Flag:"🇦🇼"},
17+
{Name:"Australia",Flag:"🇦🇺"},
18+
{Name:"Austria",Flag:"🇦🇹"},
19+
{Name:"Azerbaijan",Flag:"🇦🇿"},
20+
{Name:"Bahamas",Flag:"🇧🇸"},
21+
{Name:"Bahrain",Flag:"🇧🇭"},
22+
{Name:"Bangladesh",Flag:"🇧🇩"},
23+
{Name:"Barbados",Flag:"🇧🇧"},
24+
{Name:"Belarus",Flag:"🇧🇾"},
25+
{Name:"Belgium",Flag:"🇧🇪"},
26+
{Name:"Belize",Flag:"🇧🇿"},
27+
{Name:"Benin",Flag:"🇧🇯"},
28+
{Name:"Bermuda",Flag:"🇧🇲"},
29+
{Name:"Bhutan",Flag:"🇧🇹"},
30+
{Name:"Bolivia, Plurinational State of",Flag:"🇧🇴"},
31+
{Name:"Bonaire, Sint Eustatius and Saba",Flag:"🇧🇶"},
32+
{Name:"Bosnia and Herzegovina",Flag:"🇧🇦"},
33+
{Name:"Botswana",Flag:"🇧🇼"},
34+
{Name:"Bouvet Island",Flag:"🇧🇻"},
35+
{Name:"Brazil",Flag:"🇧🇷"},
36+
{Name:"British Indian Ocean Territory",Flag:"🇮🇴"},
37+
{Name:"Brunei Darussalam",Flag:"🇧🇳"},
38+
{Name:"Bulgaria",Flag:"🇧🇬"},
39+
{Name:"Burkina Faso",Flag:"🇧🇫"},
40+
{Name:"Burundi",Flag:"🇧🇮"},
41+
{Name:"Cambodia",Flag:"🇰🇭"},
42+
{Name:"Cameroon",Flag:"🇨🇲"},
43+
{Name:"Canada",Flag:"🇨🇦"},
44+
{Name:"Cape Verde",Flag:"🇨🇻"},
45+
{Name:"Cayman Islands",Flag:"🇰🇾"},
46+
{Name:"Central African Republic",Flag:"🇨🇫"},
47+
{Name:"Chad",Flag:"🇹🇩"},
48+
{Name:"Chile",Flag:"🇨🇱"},
49+
{Name:"China",Flag:"🇨🇳"},
50+
{Name:"Christmas Island",Flag:"🇨🇽"},
51+
{Name:"Cocos (Keeling) Islands",Flag:"🇨🇨"},
52+
{Name:"Colombia",Flag:"🇨🇴"},
53+
{Name:"Comoros",Flag:"🇰🇲"},
54+
{Name:"Congo",Flag:"🇨🇬"},
55+
{Name:"Congo, the Democratic Republic of the",Flag:"🇨🇩"},
56+
{Name:"Cook Islands",Flag:"🇨🇰"},
57+
{Name:"Costa Rica",Flag:"🇨🇷"},
58+
{Name:"Côte d'Ivoire",Flag:"🇨🇮"},
59+
{Name:"Croatia",Flag:"🇭🇷"},
60+
{Name:"Cuba",Flag:"🇨🇺"},
61+
{Name:"Curaçao",Flag:"🇨🇼"},
62+
{Name:"Cyprus",Flag:"🇨🇾"},
63+
{Name:"Czech Republic",Flag:"🇨🇿"},
64+
{Name:"Denmark",Flag:"🇩🇰"},
65+
{Name:"Djibouti",Flag:"🇩🇯"},
66+
{Name:"Dominica",Flag:"🇩🇲"},
67+
{Name:"Dominican Republic",Flag:"🇩🇴"},
68+
{Name:"Ecuador",Flag:"🇪🇨"},
69+
{Name:"Egypt",Flag:"🇪🇬"},
70+
{Name:"El Salvador",Flag:"🇸🇻"},
71+
{Name:"Equatorial Guinea",Flag:"🇬🇶"},
72+
{Name:"Eritrea",Flag:"🇪🇷"},
73+
{Name:"Estonia",Flag:"🇪🇪"},
74+
{Name:"Ethiopia",Flag:"🇪🇹"},
75+
{Name:"Falkland Islands (Malvinas)",Flag:"🇫🇰"},
76+
{Name:"Faroe Islands",Flag:"🇫🇴"},
77+
{Name:"Fiji",Flag:"🇫🇯"},
78+
{Name:"Finland",Flag:"🇫🇮"},
79+
{Name:"France",Flag:"🇫🇷"},
80+
{Name:"French Guiana",Flag:"🇬🇫"},
81+
{Name:"French Polynesia",Flag:"🇵🇫"},
82+
{Name:"French Southern Territories",Flag:"🇹🇫"},
83+
{Name:"Gabon",Flag:"🇬🇦"},
84+
{Name:"Gambia",Flag:"🇬🇲"},
85+
{Name:"Georgia",Flag:"🇬🇪"},
86+
{Name:"Germany",Flag:"🇩🇪"},
87+
{Name:"Ghana",Flag:"🇬🇭"},
88+
{Name:"Gibraltar",Flag:"🇬🇮"},
89+
{Name:"Greece",Flag:"🇬🇷"},
90+
{Name:"Greenland",Flag:"🇬🇱"},
91+
{Name:"Grenada",Flag:"🇬🇩"},
92+
{Name:"Guadeloupe",Flag:"🇬🇵"},
93+
{Name:"Guam",Flag:"🇬🇺"},
94+
{Name:"Guatemala",Flag:"🇬🇹"},
95+
{Name:"Guernsey",Flag:"🇬🇬"},
96+
{Name:"Guinea",Flag:"🇬🇳"},
97+
{Name:"Guinea-Bissau",Flag:"🇬🇼"},
98+
{Name:"Guyana",Flag:"🇬🇾"},
99+
{Name:"Haiti",Flag:"🇭🇹"},
100+
{Name:"Heard Island and McDonald Islands",Flag:"🇭🇲"},
101+
{Name:"Holy See (Vatican City State)",Flag:"🇻🇦"},
102+
{Name:"Honduras",Flag:"🇭🇳"},
103+
{Name:"Hong Kong",Flag:"🇭🇰"},
104+
{Name:"Hungary",Flag:"🇭🇺"},
105+
{Name:"Iceland",Flag:"🇮🇸"},
106+
{Name:"India",Flag:"🇮🇳"},
107+
{Name:"Indonesia",Flag:"🇮🇩"},
108+
{Name:"Iran, Islamic Republic of",Flag:"🇮🇷"},
109+
{Name:"Iraq",Flag:"🇮🇶"},
110+
{Name:"Ireland",Flag:"🇮🇪"},
111+
{Name:"Isle of Man",Flag:"🇮🇲"},
112+
{Name:"Israel",Flag:"🇮🇱"},
113+
{Name:"Italy",Flag:"🇮🇹"},
114+
{Name:"Jamaica",Flag:"🇯🇲"},
115+
{Name:"Japan",Flag:"🇯🇵"},
116+
{Name:"Jersey",Flag:"🇯🇪"},
117+
{Name:"Jordan",Flag:"🇯🇴"},
118+
{Name:"Kazakhstan",Flag:"🇰🇿"},
119+
{Name:"Kenya",Flag:"🇰🇪"},
120+
{Name:"Kiribati",Flag:"🇰🇮"},
121+
{Name:"Korea, Democratic People's Republic of",Flag:"🇰🇵"},
122+
{Name:"Korea, Republic of",Flag:"🇰🇷"},
123+
{Name:"Kuwait",Flag:"🇰🇼"},
124+
{Name:"Kyrgyzstan",Flag:"🇰🇬"},
125+
{Name:"Lao People's Democratic Republic",Flag:"🇱🇦"},
126+
{Name:"Latvia",Flag:"🇱🇻"},
127+
{Name:"Lebanon",Flag:"🇱🇧"},
128+
{Name:"Lesotho",Flag:"🇱🇸"},
129+
{Name:"Liberia",Flag:"🇱🇷"},
130+
{Name:"Libya",Flag:"🇱🇾"},
131+
{Name:"Liechtenstein",Flag:"🇱🇮"},
132+
{Name:"Lithuania",Flag:"🇱🇹"},
133+
{Name:"Luxembourg",Flag:"🇱🇺"},
134+
{Name:"Macao",Flag:"🇲🇴"},
135+
{Name:"Macedonia, the Former Yugoslav Republic of",Flag:"🇲🇰"},
136+
{Name:"Madagascar",Flag:"🇲🇬"},
137+
{Name:"Malawi",Flag:"🇲🇼"},
138+
{Name:"Malaysia",Flag:"🇲🇾"},
139+
{Name:"Maldives",Flag:"🇲🇻"},
140+
{Name:"Mali",Flag:"🇲🇱"},
141+
{Name:"Malta",Flag:"🇲🇹"},
142+
{Name:"Marshall Islands",Flag:"🇲🇭"},
143+
{Name:"Martinique",Flag:"🇲🇶"},
144+
{Name:"Mauritania",Flag:"🇲🇷"},
145+
{Name:"Mauritius",Flag:"🇲🇺"},
146+
{Name:"Mayotte",Flag:"🇾🇹"},
147+
{Name:"Mexico",Flag:"🇲🇽"},
148+
{Name:"Micronesia, Federated States of",Flag:"🇫🇲"},
149+
{Name:"Moldova, Republic of",Flag:"🇲🇩"},
150+
{Name:"Monaco",Flag:"🇲🇨"},
151+
{Name:"Mongolia",Flag:"🇲🇳"},
152+
{Name:"Montenegro",Flag:"🇲🇪"},
153+
{Name:"Montserrat",Flag:"🇲🇸"},
154+
{Name:"Morocco",Flag:"🇲🇦"},
155+
{Name:"Mozambique",Flag:"🇲🇿"},
156+
{Name:"Myanmar",Flag:"🇲🇲"},
157+
{Name:"Namibia",Flag:"🇳🇦"},
158+
{Name:"Nauru",Flag:"🇳🇷"},
159+
{Name:"Nepal",Flag:"🇳🇵"},
160+
{Name:"Netherlands",Flag:"🇳🇱"},
161+
{Name:"New Caledonia",Flag:"🇳🇨"},
162+
{Name:"New Zealand",Flag:"🇳🇿"},
163+
{Name:"Nicaragua",Flag:"🇳🇮"},
164+
{Name:"Niger",Flag:"🇳🇪"},
165+
{Name:"Nigeria",Flag:"🇳🇬"},
166+
{Name:"Niue",Flag:"🇳🇺"},
167+
{Name:"Norfolk Island",Flag:"🇳🇫"},
168+
{Name:"Northern Mariana Islands",Flag:"🇲🇵"},
169+
{Name:"Norway",Flag:"🇳🇴"},
170+
{Name:"Oman",Flag:"🇴🇲"},
171+
{Name:"Pakistan",Flag:"🇵🇰"},
172+
{Name:"Palau",Flag:"🇵🇼"},
173+
{Name:"Palestine, State of",Flag:"🇵🇸"},
174+
{Name:"Panama",Flag:"🇵🇦"},
175+
{Name:"Papua New Guinea",Flag:"🇵🇬"},
176+
{Name:"Paraguay",Flag:"🇵🇾"},
177+
{Name:"Peru",Flag:"🇵🇪"},
178+
{Name:"Philippines",Flag:"🇵🇭"},
179+
{Name:"Pitcairn",Flag:"🇵🇳"},
180+
{Name:"Poland",Flag:"🇵🇱"},
181+
{Name:"Portugal",Flag:"🇵🇹"},
182+
{Name:"Puerto Rico",Flag:"🇵🇷"},
183+
{Name:"Qatar",Flag:"🇶🇦"},
184+
{Name:"Réunion",Flag:"🇷🇪"},
185+
{Name:"Romania",Flag:"🇷🇴"},
186+
{Name:"Russian Federation",Flag:"🇷🇺"},
187+
{Name:"Rwanda",Flag:"🇷🇼"},
188+
{Name:"Saint Barthélemy",Flag:"🇧🇱"},
189+
{Name:"Saint Helena, Ascension and Tristan da Cunha",Flag:"🇸🇭"},
190+
{Name:"Saint Kitts and Nevis",Flag:"🇰🇳"},
191+
{Name:"Saint Lucia",Flag:"🇱🇨"},
192+
{Name:"Saint Martin (French part)",Flag:"🇲🇫"},
193+
{Name:"Saint Pierre and Miquelon",Flag:"🇵🇲"},
194+
{Name:"Saint Vincent and the Grenadines",Flag:"🇻🇨"},
195+
{Name:"Samoa",Flag:"🇼🇸"},
196+
{Name:"San Marino",Flag:"🇸🇲"},
197+
{Name:"Sao Tome and Principe",Flag:"🇸🇹"},
198+
{Name:"Saudi Arabia",Flag:"🇸🇦"},
199+
{Name:"Senegal",Flag:"🇸🇳"},
200+
{Name:"Serbia",Flag:"🇷🇸"},
201+
{Name:"Seychelles",Flag:"🇸🇨"},
202+
{Name:"Sierra Leone",Flag:"🇸🇱"},
203+
{Name:"Singapore",Flag:"🇸🇬"},
204+
{Name:"Sint Maarten (Dutch part)",Flag:"🇸🇽"},
205+
{Name:"Slovakia",Flag:"🇸🇰"},
206+
{Name:"Slovenia",Flag:"🇸🇮"},
207+
{Name:"Solomon Islands",Flag:"🇸🇧"},
208+
{Name:"Somalia",Flag:"🇸🇴"},
209+
{Name:"South Africa",Flag:"🇿🇦"},
210+
{Name:"South Georgia and the South Sandwich Islands",Flag:"🇬🇸"},
211+
{Name:"South Sudan",Flag:"🇸🇸"},
212+
{Name:"Spain",Flag:"🇪🇸"},
213+
{Name:"Sri Lanka",Flag:"🇱🇰"},
214+
{Name:"Sudan",Flag:"🇸🇩"},
215+
{Name:"Suriname",Flag:"🇸🇷"},
216+
{Name:"Svalbard and Jan Mayen",Flag:"🇸🇯"},
217+
{Name:"Swaziland",Flag:"🇸🇿"},
218+
{Name:"Sweden",Flag:"🇸🇪"},
219+
{Name:"Switzerland",Flag:"🇨🇭"},
220+
{Name:"Syrian Arab Republic",Flag:"🇸🇾"},
221+
{Name:"Taiwan, Province of China",Flag:"🇹🇼"},
222+
{Name:"Tajikistan",Flag:"🇹🇯"},
223+
{Name:"Tanzania, United Republic of",Flag:"🇹🇿"},
224+
{Name:"Thailand",Flag:"🇹🇭"},
225+
{Name:"Timor-Leste",Flag:"🇹🇱"},
226+
{Name:"Togo",Flag:"🇹🇬"},
227+
{Name:"Tokelau",Flag:"🇹🇰"},
228+
{Name:"Tonga",Flag:"🇹🇴"},
229+
{Name:"Trinidad and Tobago",Flag:"🇹🇹"},
230+
{Name:"Tunisia",Flag:"🇹🇳"},
231+
{Name:"Turkey",Flag:"🇹🇷"},
232+
{Name:"Turkmenistan",Flag:"🇹🇲"},
233+
{Name:"Turks and Caicos Islands",Flag:"🇹🇨"},
234+
{Name:"Tuvalu",Flag:"🇹🇻"},
235+
{Name:"Uganda",Flag:"🇺🇬"},
236+
{Name:"Ukraine",Flag:"🇺🇦"},
237+
{Name:"United Arab Emirates",Flag:"🇦🇪"},
238+
{Name:"United Kingdom",Flag:"🇬🇧"},
239+
{Name:"United States",Flag:"🇺🇸"},
240+
{Name:"United States Minor Outlying Islands",Flag:"🇺🇲"},
241+
{Name:"Uruguay",Flag:"🇺🇾"},
242+
{Name:"Uzbekistan",Flag:"🇺🇿"},
243+
{Name:"Vanuatu",Flag:"🇻🇺"},
244+
{Name:"Venezuela, Bolivarian Republic of",Flag:"🇻🇪"},
245+
{Name:"Vietnam",Flag:"🇻🇳"},
246+
{Name:"Virgin Islands, British",Flag:"🇻🇬"},
247+
{Name:"Virgin Islands, U.S.",Flag:"🇻🇮"},
248+
{Name:"Wallis and Futuna",Flag:"🇼🇫"},
249+
{Name:"Western Sahara",Flag:"🇪🇭"},
250+
{Name:"Yemen",Flag:"🇾🇪"},
251+
{Name:"Zambia",Flag:"🇿🇲"},
252+
{Name:"Zimbabwe",Flag:"🇿🇼"},
253+
}
254+
255+
// @typescript-ignore Country
256+
typeCountrystruct {
257+
Namestring`json:"name"`
258+
Flagstring`json:"flag"`
259+
}

‎scripts/apitypings/main.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package main
33
import (
44
"bytes"
55
"context"
6+
"encoding/json"
67
"fmt"
78
"go/types"
89
"os"
@@ -24,6 +25,7 @@ import (
2425
"cdr.dev/slog"
2526
"cdr.dev/slog/sloggers/sloghuman"
2627
"github.com/coder/coder/v2/coderd/util/slice"
28+
"github.com/coder/coder/v2/codersdk"
2729
)
2830

2931
var (
@@ -57,6 +59,14 @@ func main() {
5759
}
5860

5961
_,_=fmt.Print("// Code generated by 'make site/src/api/typesGenerated.ts'. DO NOT EDIT.\n\n")
62+
63+
countriesTS,err:=generateSliceOfObjectsTypeScript("countries",codersdk.Countries)
64+
iferr!=nil {
65+
log.Fatal(ctx,fmt.Sprintf("generate countries typeScript: %s",err.Error()))
66+
}
67+
_,_=fmt.Print("// The code below is generated from codersdk/countries.go.\n")
68+
_,_=fmt.Print(countriesTS,"\n")
69+
6070
for_,baseDir:=rangebaseDirs {
6171
_,_=fmt.Printf("// The code below is generated from %s.\n\n",strings.TrimPrefix(baseDir,"./"))
6272
output,err:=Generate(baseDir,external...)
@@ -1105,3 +1115,26 @@ func (Generator) isBuiltIn(name string) (bool, string) {
11051115
funcindentedComment(commentstring)string {
11061116
returnfmt.Sprintf("%s// %s",indent,comment)
11071117
}
1118+
1119+
funcgenerateSliceOfObjectsTypeScript(namestring,datainterface{}) (string,error) {
1120+
varsb strings.Builder
1121+
_,_=sb.WriteString(fmt.Sprintf("export const %s = [\n",name))
1122+
1123+
val:=reflect.ValueOf(data)
1124+
ifval.Kind()!=reflect.Slice {
1125+
return"",xerrors.New("data must be a slice")
1126+
}
1127+
1128+
fori:=0;i<val.Len();i++ {
1129+
item:=val.Index(i).Interface()
1130+
jsonBytes,err:=json.Marshal(item)
1131+
iferr!=nil {
1132+
return"",xerrors.Errorf("marshal item: %w",err)
1133+
}
1134+
_,_=sb.WriteString("\t")
1135+
_,_=sb.Write(jsonBytes)
1136+
_,_=sb.WriteString(",\n")
1137+
}
1138+
_,_=sb.WriteString("]\n\n")
1139+
returnsb.String(),nil
1140+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp