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