1#[derive(Clone, Debug)]
2#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
3#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
4pub struct TaxProductRegistrationsResourceCountryOptions {
5 pub ae: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
6 pub al: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
7 pub am: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
8 pub ao: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
9 pub at: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
10 pub au: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
11 pub aw: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
12 pub az: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
13 pub ba: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
14 pub bb: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
15 pub bd: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
16 pub be: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
17 pub bf: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
18 pub bg: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
19 pub bh: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
20 pub bj: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
21 pub bs: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
22 pub by: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
23 pub ca: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsCanada>,
24 pub cd: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
25 pub ch: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
26 pub cl: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
27 pub cm: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
28 pub co: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
29 pub cr: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
30 pub cv: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
31 pub cy: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
32 pub cz: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
33 pub de: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
34 pub dk: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
35 pub ec: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
36 pub ee: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
37 pub eg: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
38 pub es: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
39 pub et: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
40 pub fi: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
41 pub fr: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
42 pub gb: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
43 pub ge: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
44 pub gn: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
45 pub gr: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
46 pub hr: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
47 pub hu: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
48 pub id: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
49 pub ie: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
50 #[cfg_attr(any(feature = "deserialize", feature = "serialize"), serde(rename = "in"))]
51 pub in_: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
52 pub is: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
53 pub it: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
54 pub jp: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
55 pub ke: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
56 pub kg: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
57 pub kh: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
58 pub kr: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
59 pub kz: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
60 pub la: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
61 pub lt: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
62 pub lu: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
63 pub lv: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
64 pub ma: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
65 pub md: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
66 pub me: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
67 pub mk: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
68 pub mr: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
69 pub mt: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
70 pub mx: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
71 pub my: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
72 pub ng: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
73 pub nl: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
74 pub no: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
75 pub np: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
76 pub nz: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
77 pub om: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
78 pub pe: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
79 pub ph: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
80 pub pl: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
81 pub pt: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
82 pub ro: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
83 pub rs: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
84 pub ru: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
85 pub sa: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
86 pub se: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
87 pub sg: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
88 pub si: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
89 pub sk: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>,
90 pub sn: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
91 pub sr: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
92 pub th: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsThailand>,
93 pub tj: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
94 pub tr: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
95 pub tz: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
96 pub ua: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
97 pub ug: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
98 pub us: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsUnitedStates>,
99 pub uy: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
100 pub uz: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
101 pub vn: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
102 pub za: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
103 pub zm: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>,
104 pub zw: Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>,
105}
106#[doc(hidden)]
107pub struct TaxProductRegistrationsResourceCountryOptionsBuilder {
108 ae: Option<
109 Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
110 >,
111 al: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
112 am: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
113 ao: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
114 at: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
115 au: Option<
116 Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
117 >,
118 aw: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
119 az: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
120 ba: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
121 bb: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
122 bd: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
123 be: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
124 bf: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
125 bg: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
126 bh: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
127 bj: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
128 bs: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
129 by: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
130 ca: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsCanada>>,
131 cd: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
132 ch: Option<
133 Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
134 >,
135 cl: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
136 cm: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
137 co: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
138 cr: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
139 cv: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
140 cy: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
141 cz: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
142 de: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
143 dk: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
144 ec: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
145 ee: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
146 eg: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
147 es: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
148 et: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
149 fi: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
150 fr: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
151 gb: Option<
152 Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
153 >,
154 ge: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
155 gn: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
156 gr: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
157 hr: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
158 hu: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
159 id: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
160 ie: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
161 in_: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
162 is: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
163 it: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
164 jp: Option<
165 Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
166 >,
167 ke: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
168 kg: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
169 kh: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
170 kr: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
171 kz: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
172 la: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
173 lt: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
174 lu: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
175 lv: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
176 ma: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
177 md: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
178 me: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
179 mk: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
180 mr: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
181 mt: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
182 mx: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
183 my: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
184 ng: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
185 nl: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
186 no: Option<
187 Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
188 >,
189 np: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
190 nz: Option<
191 Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
192 >,
193 om: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
194 pe: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
195 ph: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
196 pl: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
197 pt: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
198 ro: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
199 rs: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
200 ru: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
201 sa: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
202 se: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
203 sg: Option<
204 Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefaultInboundGoods>,
205 >,
206 si: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
207 sk: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsEurope>>,
208 sn: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
209 sr: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
210 th: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsThailand>>,
211 tj: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
212 tr: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
213 tz: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
214 ua: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
215 ug: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
216 us: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsUnitedStates>>,
217 uy: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
218 uz: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
219 vn: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
220 za: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
221 zm: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsSimplified>>,
222 zw: Option<Option<stripe_misc::TaxProductRegistrationsResourceCountryOptionsDefault>>,
223}
224
225#[allow(
226 unused_variables,
227 irrefutable_let_patterns,
228 clippy::let_unit_value,
229 clippy::match_single_binding,
230 clippy::single_match
231)]
232const _: () = {
233 use miniserde::de::{Map, Visitor};
234 use miniserde::json::Value;
235 use miniserde::{Deserialize, Result, make_place};
236 use stripe_types::miniserde_helpers::FromValueOpt;
237 use stripe_types::{MapBuilder, ObjectDeser};
238
239 make_place!(Place);
240
241 impl Deserialize for TaxProductRegistrationsResourceCountryOptions {
242 fn begin(out: &mut Option<Self>) -> &mut dyn Visitor {
243 Place::new(out)
244 }
245 }
246
247 struct Builder<'a> {
248 out: &'a mut Option<TaxProductRegistrationsResourceCountryOptions>,
249 builder: TaxProductRegistrationsResourceCountryOptionsBuilder,
250 }
251
252 impl Visitor for Place<TaxProductRegistrationsResourceCountryOptions> {
253 fn map(&mut self) -> Result<Box<dyn Map + '_>> {
254 Ok(Box::new(Builder {
255 out: &mut self.out,
256 builder: TaxProductRegistrationsResourceCountryOptionsBuilder::deser_default(),
257 }))
258 }
259 }
260
261 impl MapBuilder for TaxProductRegistrationsResourceCountryOptionsBuilder {
262 type Out = TaxProductRegistrationsResourceCountryOptions;
263 fn key(&mut self, k: &str) -> Result<&mut dyn Visitor> {
264 Ok(match k {
265 "ae" => Deserialize::begin(&mut self.ae),
266 "al" => Deserialize::begin(&mut self.al),
267 "am" => Deserialize::begin(&mut self.am),
268 "ao" => Deserialize::begin(&mut self.ao),
269 "at" => Deserialize::begin(&mut self.at),
270 "au" => Deserialize::begin(&mut self.au),
271 "aw" => Deserialize::begin(&mut self.aw),
272 "az" => Deserialize::begin(&mut self.az),
273 "ba" => Deserialize::begin(&mut self.ba),
274 "bb" => Deserialize::begin(&mut self.bb),
275 "bd" => Deserialize::begin(&mut self.bd),
276 "be" => Deserialize::begin(&mut self.be),
277 "bf" => Deserialize::begin(&mut self.bf),
278 "bg" => Deserialize::begin(&mut self.bg),
279 "bh" => Deserialize::begin(&mut self.bh),
280 "bj" => Deserialize::begin(&mut self.bj),
281 "bs" => Deserialize::begin(&mut self.bs),
282 "by" => Deserialize::begin(&mut self.by),
283 "ca" => Deserialize::begin(&mut self.ca),
284 "cd" => Deserialize::begin(&mut self.cd),
285 "ch" => Deserialize::begin(&mut self.ch),
286 "cl" => Deserialize::begin(&mut self.cl),
287 "cm" => Deserialize::begin(&mut self.cm),
288 "co" => Deserialize::begin(&mut self.co),
289 "cr" => Deserialize::begin(&mut self.cr),
290 "cv" => Deserialize::begin(&mut self.cv),
291 "cy" => Deserialize::begin(&mut self.cy),
292 "cz" => Deserialize::begin(&mut self.cz),
293 "de" => Deserialize::begin(&mut self.de),
294 "dk" => Deserialize::begin(&mut self.dk),
295 "ec" => Deserialize::begin(&mut self.ec),
296 "ee" => Deserialize::begin(&mut self.ee),
297 "eg" => Deserialize::begin(&mut self.eg),
298 "es" => Deserialize::begin(&mut self.es),
299 "et" => Deserialize::begin(&mut self.et),
300 "fi" => Deserialize::begin(&mut self.fi),
301 "fr" => Deserialize::begin(&mut self.fr),
302 "gb" => Deserialize::begin(&mut self.gb),
303 "ge" => Deserialize::begin(&mut self.ge),
304 "gn" => Deserialize::begin(&mut self.gn),
305 "gr" => Deserialize::begin(&mut self.gr),
306 "hr" => Deserialize::begin(&mut self.hr),
307 "hu" => Deserialize::begin(&mut self.hu),
308 "id" => Deserialize::begin(&mut self.id),
309 "ie" => Deserialize::begin(&mut self.ie),
310 "in" => Deserialize::begin(&mut self.in_),
311 "is" => Deserialize::begin(&mut self.is),
312 "it" => Deserialize::begin(&mut self.it),
313 "jp" => Deserialize::begin(&mut self.jp),
314 "ke" => Deserialize::begin(&mut self.ke),
315 "kg" => Deserialize::begin(&mut self.kg),
316 "kh" => Deserialize::begin(&mut self.kh),
317 "kr" => Deserialize::begin(&mut self.kr),
318 "kz" => Deserialize::begin(&mut self.kz),
319 "la" => Deserialize::begin(&mut self.la),
320 "lt" => Deserialize::begin(&mut self.lt),
321 "lu" => Deserialize::begin(&mut self.lu),
322 "lv" => Deserialize::begin(&mut self.lv),
323 "ma" => Deserialize::begin(&mut self.ma),
324 "md" => Deserialize::begin(&mut self.md),
325 "me" => Deserialize::begin(&mut self.me),
326 "mk" => Deserialize::begin(&mut self.mk),
327 "mr" => Deserialize::begin(&mut self.mr),
328 "mt" => Deserialize::begin(&mut self.mt),
329 "mx" => Deserialize::begin(&mut self.mx),
330 "my" => Deserialize::begin(&mut self.my),
331 "ng" => Deserialize::begin(&mut self.ng),
332 "nl" => Deserialize::begin(&mut self.nl),
333 "no" => Deserialize::begin(&mut self.no),
334 "np" => Deserialize::begin(&mut self.np),
335 "nz" => Deserialize::begin(&mut self.nz),
336 "om" => Deserialize::begin(&mut self.om),
337 "pe" => Deserialize::begin(&mut self.pe),
338 "ph" => Deserialize::begin(&mut self.ph),
339 "pl" => Deserialize::begin(&mut self.pl),
340 "pt" => Deserialize::begin(&mut self.pt),
341 "ro" => Deserialize::begin(&mut self.ro),
342 "rs" => Deserialize::begin(&mut self.rs),
343 "ru" => Deserialize::begin(&mut self.ru),
344 "sa" => Deserialize::begin(&mut self.sa),
345 "se" => Deserialize::begin(&mut self.se),
346 "sg" => Deserialize::begin(&mut self.sg),
347 "si" => Deserialize::begin(&mut self.si),
348 "sk" => Deserialize::begin(&mut self.sk),
349 "sn" => Deserialize::begin(&mut self.sn),
350 "sr" => Deserialize::begin(&mut self.sr),
351 "th" => Deserialize::begin(&mut self.th),
352 "tj" => Deserialize::begin(&mut self.tj),
353 "tr" => Deserialize::begin(&mut self.tr),
354 "tz" => Deserialize::begin(&mut self.tz),
355 "ua" => Deserialize::begin(&mut self.ua),
356 "ug" => Deserialize::begin(&mut self.ug),
357 "us" => Deserialize::begin(&mut self.us),
358 "uy" => Deserialize::begin(&mut self.uy),
359 "uz" => Deserialize::begin(&mut self.uz),
360 "vn" => Deserialize::begin(&mut self.vn),
361 "za" => Deserialize::begin(&mut self.za),
362 "zm" => Deserialize::begin(&mut self.zm),
363 "zw" => Deserialize::begin(&mut self.zw),
364
365 _ => <dyn Visitor>::ignore(),
366 })
367 }
368
369 fn deser_default() -> Self {
370 Self {
371 ae: Deserialize::default(),
372 al: Deserialize::default(),
373 am: Deserialize::default(),
374 ao: Deserialize::default(),
375 at: Deserialize::default(),
376 au: Deserialize::default(),
377 aw: Deserialize::default(),
378 az: Deserialize::default(),
379 ba: Deserialize::default(),
380 bb: Deserialize::default(),
381 bd: Deserialize::default(),
382 be: Deserialize::default(),
383 bf: Deserialize::default(),
384 bg: Deserialize::default(),
385 bh: Deserialize::default(),
386 bj: Deserialize::default(),
387 bs: Deserialize::default(),
388 by: Deserialize::default(),
389 ca: Deserialize::default(),
390 cd: Deserialize::default(),
391 ch: Deserialize::default(),
392 cl: Deserialize::default(),
393 cm: Deserialize::default(),
394 co: Deserialize::default(),
395 cr: Deserialize::default(),
396 cv: Deserialize::default(),
397 cy: Deserialize::default(),
398 cz: Deserialize::default(),
399 de: Deserialize::default(),
400 dk: Deserialize::default(),
401 ec: Deserialize::default(),
402 ee: Deserialize::default(),
403 eg: Deserialize::default(),
404 es: Deserialize::default(),
405 et: Deserialize::default(),
406 fi: Deserialize::default(),
407 fr: Deserialize::default(),
408 gb: Deserialize::default(),
409 ge: Deserialize::default(),
410 gn: Deserialize::default(),
411 gr: Deserialize::default(),
412 hr: Deserialize::default(),
413 hu: Deserialize::default(),
414 id: Deserialize::default(),
415 ie: Deserialize::default(),
416 in_: Deserialize::default(),
417 is: Deserialize::default(),
418 it: Deserialize::default(),
419 jp: Deserialize::default(),
420 ke: Deserialize::default(),
421 kg: Deserialize::default(),
422 kh: Deserialize::default(),
423 kr: Deserialize::default(),
424 kz: Deserialize::default(),
425 la: Deserialize::default(),
426 lt: Deserialize::default(),
427 lu: Deserialize::default(),
428 lv: Deserialize::default(),
429 ma: Deserialize::default(),
430 md: Deserialize::default(),
431 me: Deserialize::default(),
432 mk: Deserialize::default(),
433 mr: Deserialize::default(),
434 mt: Deserialize::default(),
435 mx: Deserialize::default(),
436 my: Deserialize::default(),
437 ng: Deserialize::default(),
438 nl: Deserialize::default(),
439 no: Deserialize::default(),
440 np: Deserialize::default(),
441 nz: Deserialize::default(),
442 om: Deserialize::default(),
443 pe: Deserialize::default(),
444 ph: Deserialize::default(),
445 pl: Deserialize::default(),
446 pt: Deserialize::default(),
447 ro: Deserialize::default(),
448 rs: Deserialize::default(),
449 ru: Deserialize::default(),
450 sa: Deserialize::default(),
451 se: Deserialize::default(),
452 sg: Deserialize::default(),
453 si: Deserialize::default(),
454 sk: Deserialize::default(),
455 sn: Deserialize::default(),
456 sr: Deserialize::default(),
457 th: Deserialize::default(),
458 tj: Deserialize::default(),
459 tr: Deserialize::default(),
460 tz: Deserialize::default(),
461 ua: Deserialize::default(),
462 ug: Deserialize::default(),
463 us: Deserialize::default(),
464 uy: Deserialize::default(),
465 uz: Deserialize::default(),
466 vn: Deserialize::default(),
467 za: Deserialize::default(),
468 zm: Deserialize::default(),
469 zw: Deserialize::default(),
470 }
471 }
472
473 fn take_out(&mut self) -> Option<Self::Out> {
474 let (
475 Some(ae),
476 Some(al),
477 Some(am),
478 Some(ao),
479 Some(at),
480 Some(au),
481 Some(aw),
482 Some(az),
483 Some(ba),
484 Some(bb),
485 Some(bd),
486 Some(be),
487 Some(bf),
488 Some(bg),
489 Some(bh),
490 Some(bj),
491 Some(bs),
492 Some(by),
493 Some(ca),
494 Some(cd),
495 Some(ch),
496 Some(cl),
497 Some(cm),
498 Some(co),
499 Some(cr),
500 Some(cv),
501 Some(cy),
502 Some(cz),
503 Some(de),
504 Some(dk),
505 Some(ec),
506 Some(ee),
507 Some(eg),
508 Some(es),
509 Some(et),
510 Some(fi),
511 Some(fr),
512 Some(gb),
513 Some(ge),
514 Some(gn),
515 Some(gr),
516 Some(hr),
517 Some(hu),
518 Some(id),
519 Some(ie),
520 Some(in_),
521 Some(is),
522 Some(it),
523 Some(jp),
524 Some(ke),
525 Some(kg),
526 Some(kh),
527 Some(kr),
528 Some(kz),
529 Some(la),
530 Some(lt),
531 Some(lu),
532 Some(lv),
533 Some(ma),
534 Some(md),
535 Some(me),
536 Some(mk),
537 Some(mr),
538 Some(mt),
539 Some(mx),
540 Some(my),
541 Some(ng),
542 Some(nl),
543 Some(no),
544 Some(np),
545 Some(nz),
546 Some(om),
547 Some(pe),
548 Some(ph),
549 Some(pl),
550 Some(pt),
551 Some(ro),
552 Some(rs),
553 Some(ru),
554 Some(sa),
555 Some(se),
556 Some(sg),
557 Some(si),
558 Some(sk),
559 Some(sn),
560 Some(sr),
561 Some(th),
562 Some(tj),
563 Some(tr),
564 Some(tz),
565 Some(ua),
566 Some(ug),
567 Some(us),
568 Some(uy),
569 Some(uz),
570 Some(vn),
571 Some(za),
572 Some(zm),
573 Some(zw),
574 ) = (
575 self.ae,
576 self.al,
577 self.am,
578 self.ao,
579 self.at,
580 self.au,
581 self.aw,
582 self.az,
583 self.ba,
584 self.bb,
585 self.bd,
586 self.be,
587 self.bf,
588 self.bg,
589 self.bh,
590 self.bj,
591 self.bs,
592 self.by,
593 self.ca.take(),
594 self.cd,
595 self.ch,
596 self.cl,
597 self.cm,
598 self.co,
599 self.cr,
600 self.cv,
601 self.cy,
602 self.cz,
603 self.de,
604 self.dk,
605 self.ec,
606 self.ee,
607 self.eg,
608 self.es,
609 self.et,
610 self.fi,
611 self.fr,
612 self.gb,
613 self.ge,
614 self.gn,
615 self.gr,
616 self.hr,
617 self.hu,
618 self.id,
619 self.ie,
620 self.in_,
621 self.is,
622 self.it,
623 self.jp,
624 self.ke,
625 self.kg,
626 self.kh,
627 self.kr,
628 self.kz,
629 self.la,
630 self.lt,
631 self.lu,
632 self.lv,
633 self.ma,
634 self.md,
635 self.me,
636 self.mk,
637 self.mr,
638 self.mt,
639 self.mx,
640 self.my,
641 self.ng,
642 self.nl,
643 self.no,
644 self.np,
645 self.nz,
646 self.om,
647 self.pe,
648 self.ph,
649 self.pl,
650 self.pt,
651 self.ro,
652 self.rs,
653 self.ru,
654 self.sa,
655 self.se,
656 self.sg,
657 self.si,
658 self.sk,
659 self.sn,
660 self.sr,
661 self.th,
662 self.tj,
663 self.tr,
664 self.tz,
665 self.ua,
666 self.ug,
667 self.us.take(),
668 self.uy,
669 self.uz,
670 self.vn,
671 self.za,
672 self.zm,
673 self.zw,
674 )
675 else {
676 return None;
677 };
678 Some(Self::Out {
679 ae,
680 al,
681 am,
682 ao,
683 at,
684 au,
685 aw,
686 az,
687 ba,
688 bb,
689 bd,
690 be,
691 bf,
692 bg,
693 bh,
694 bj,
695 bs,
696 by,
697 ca,
698 cd,
699 ch,
700 cl,
701 cm,
702 co,
703 cr,
704 cv,
705 cy,
706 cz,
707 de,
708 dk,
709 ec,
710 ee,
711 eg,
712 es,
713 et,
714 fi,
715 fr,
716 gb,
717 ge,
718 gn,
719 gr,
720 hr,
721 hu,
722 id,
723 ie,
724 in_,
725 is,
726 it,
727 jp,
728 ke,
729 kg,
730 kh,
731 kr,
732 kz,
733 la,
734 lt,
735 lu,
736 lv,
737 ma,
738 md,
739 me,
740 mk,
741 mr,
742 mt,
743 mx,
744 my,
745 ng,
746 nl,
747 no,
748 np,
749 nz,
750 om,
751 pe,
752 ph,
753 pl,
754 pt,
755 ro,
756 rs,
757 ru,
758 sa,
759 se,
760 sg,
761 si,
762 sk,
763 sn,
764 sr,
765 th,
766 tj,
767 tr,
768 tz,
769 ua,
770 ug,
771 us,
772 uy,
773 uz,
774 vn,
775 za,
776 zm,
777 zw,
778 })
779 }
780 }
781
782 impl Map for Builder<'_> {
783 fn key(&mut self, k: &str) -> Result<&mut dyn Visitor> {
784 self.builder.key(k)
785 }
786
787 fn finish(&mut self) -> Result<()> {
788 *self.out = self.builder.take_out();
789 Ok(())
790 }
791 }
792
793 impl ObjectDeser for TaxProductRegistrationsResourceCountryOptions {
794 type Builder = TaxProductRegistrationsResourceCountryOptionsBuilder;
795 }
796
797 impl FromValueOpt for TaxProductRegistrationsResourceCountryOptions {
798 fn from_value(v: Value) -> Option<Self> {
799 let Value::Object(obj) = v else {
800 return None;
801 };
802 let mut b = TaxProductRegistrationsResourceCountryOptionsBuilder::deser_default();
803 for (k, v) in obj {
804 match k.as_str() {
805 "ae" => b.ae = FromValueOpt::from_value(v),
806 "al" => b.al = FromValueOpt::from_value(v),
807 "am" => b.am = FromValueOpt::from_value(v),
808 "ao" => b.ao = FromValueOpt::from_value(v),
809 "at" => b.at = FromValueOpt::from_value(v),
810 "au" => b.au = FromValueOpt::from_value(v),
811 "aw" => b.aw = FromValueOpt::from_value(v),
812 "az" => b.az = FromValueOpt::from_value(v),
813 "ba" => b.ba = FromValueOpt::from_value(v),
814 "bb" => b.bb = FromValueOpt::from_value(v),
815 "bd" => b.bd = FromValueOpt::from_value(v),
816 "be" => b.be = FromValueOpt::from_value(v),
817 "bf" => b.bf = FromValueOpt::from_value(v),
818 "bg" => b.bg = FromValueOpt::from_value(v),
819 "bh" => b.bh = FromValueOpt::from_value(v),
820 "bj" => b.bj = FromValueOpt::from_value(v),
821 "bs" => b.bs = FromValueOpt::from_value(v),
822 "by" => b.by = FromValueOpt::from_value(v),
823 "ca" => b.ca = FromValueOpt::from_value(v),
824 "cd" => b.cd = FromValueOpt::from_value(v),
825 "ch" => b.ch = FromValueOpt::from_value(v),
826 "cl" => b.cl = FromValueOpt::from_value(v),
827 "cm" => b.cm = FromValueOpt::from_value(v),
828 "co" => b.co = FromValueOpt::from_value(v),
829 "cr" => b.cr = FromValueOpt::from_value(v),
830 "cv" => b.cv = FromValueOpt::from_value(v),
831 "cy" => b.cy = FromValueOpt::from_value(v),
832 "cz" => b.cz = FromValueOpt::from_value(v),
833 "de" => b.de = FromValueOpt::from_value(v),
834 "dk" => b.dk = FromValueOpt::from_value(v),
835 "ec" => b.ec = FromValueOpt::from_value(v),
836 "ee" => b.ee = FromValueOpt::from_value(v),
837 "eg" => b.eg = FromValueOpt::from_value(v),
838 "es" => b.es = FromValueOpt::from_value(v),
839 "et" => b.et = FromValueOpt::from_value(v),
840 "fi" => b.fi = FromValueOpt::from_value(v),
841 "fr" => b.fr = FromValueOpt::from_value(v),
842 "gb" => b.gb = FromValueOpt::from_value(v),
843 "ge" => b.ge = FromValueOpt::from_value(v),
844 "gn" => b.gn = FromValueOpt::from_value(v),
845 "gr" => b.gr = FromValueOpt::from_value(v),
846 "hr" => b.hr = FromValueOpt::from_value(v),
847 "hu" => b.hu = FromValueOpt::from_value(v),
848 "id" => b.id = FromValueOpt::from_value(v),
849 "ie" => b.ie = FromValueOpt::from_value(v),
850 "in" => b.in_ = FromValueOpt::from_value(v),
851 "is" => b.is = FromValueOpt::from_value(v),
852 "it" => b.it = FromValueOpt::from_value(v),
853 "jp" => b.jp = FromValueOpt::from_value(v),
854 "ke" => b.ke = FromValueOpt::from_value(v),
855 "kg" => b.kg = FromValueOpt::from_value(v),
856 "kh" => b.kh = FromValueOpt::from_value(v),
857 "kr" => b.kr = FromValueOpt::from_value(v),
858 "kz" => b.kz = FromValueOpt::from_value(v),
859 "la" => b.la = FromValueOpt::from_value(v),
860 "lt" => b.lt = FromValueOpt::from_value(v),
861 "lu" => b.lu = FromValueOpt::from_value(v),
862 "lv" => b.lv = FromValueOpt::from_value(v),
863 "ma" => b.ma = FromValueOpt::from_value(v),
864 "md" => b.md = FromValueOpt::from_value(v),
865 "me" => b.me = FromValueOpt::from_value(v),
866 "mk" => b.mk = FromValueOpt::from_value(v),
867 "mr" => b.mr = FromValueOpt::from_value(v),
868 "mt" => b.mt = FromValueOpt::from_value(v),
869 "mx" => b.mx = FromValueOpt::from_value(v),
870 "my" => b.my = FromValueOpt::from_value(v),
871 "ng" => b.ng = FromValueOpt::from_value(v),
872 "nl" => b.nl = FromValueOpt::from_value(v),
873 "no" => b.no = FromValueOpt::from_value(v),
874 "np" => b.np = FromValueOpt::from_value(v),
875 "nz" => b.nz = FromValueOpt::from_value(v),
876 "om" => b.om = FromValueOpt::from_value(v),
877 "pe" => b.pe = FromValueOpt::from_value(v),
878 "ph" => b.ph = FromValueOpt::from_value(v),
879 "pl" => b.pl = FromValueOpt::from_value(v),
880 "pt" => b.pt = FromValueOpt::from_value(v),
881 "ro" => b.ro = FromValueOpt::from_value(v),
882 "rs" => b.rs = FromValueOpt::from_value(v),
883 "ru" => b.ru = FromValueOpt::from_value(v),
884 "sa" => b.sa = FromValueOpt::from_value(v),
885 "se" => b.se = FromValueOpt::from_value(v),
886 "sg" => b.sg = FromValueOpt::from_value(v),
887 "si" => b.si = FromValueOpt::from_value(v),
888 "sk" => b.sk = FromValueOpt::from_value(v),
889 "sn" => b.sn = FromValueOpt::from_value(v),
890 "sr" => b.sr = FromValueOpt::from_value(v),
891 "th" => b.th = FromValueOpt::from_value(v),
892 "tj" => b.tj = FromValueOpt::from_value(v),
893 "tr" => b.tr = FromValueOpt::from_value(v),
894 "tz" => b.tz = FromValueOpt::from_value(v),
895 "ua" => b.ua = FromValueOpt::from_value(v),
896 "ug" => b.ug = FromValueOpt::from_value(v),
897 "us" => b.us = FromValueOpt::from_value(v),
898 "uy" => b.uy = FromValueOpt::from_value(v),
899 "uz" => b.uz = FromValueOpt::from_value(v),
900 "vn" => b.vn = FromValueOpt::from_value(v),
901 "za" => b.za = FromValueOpt::from_value(v),
902 "zm" => b.zm = FromValueOpt::from_value(v),
903 "zw" => b.zw = FromValueOpt::from_value(v),
904
905 _ => {}
906 }
907 }
908 b.take_out()
909 }
910 }
911};