1#[derive(Clone, Debug)]
2#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
3#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
4pub struct PaymentLinksResourceShippingAddressCollection {
5 pub allowed_countries: Vec<PaymentLinksResourceShippingAddressCollectionAllowedCountries>,
8}
9#[doc(hidden)]
10pub struct PaymentLinksResourceShippingAddressCollectionBuilder {
11 allowed_countries: Option<Vec<PaymentLinksResourceShippingAddressCollectionAllowedCountries>>,
12}
13
14#[allow(
15 unused_variables,
16 irrefutable_let_patterns,
17 clippy::let_unit_value,
18 clippy::match_single_binding,
19 clippy::single_match
20)]
21const _: () = {
22 use miniserde::de::{Map, Visitor};
23 use miniserde::json::Value;
24 use miniserde::{Deserialize, Result, make_place};
25 use stripe_types::miniserde_helpers::FromValueOpt;
26 use stripe_types::{MapBuilder, ObjectDeser};
27
28 make_place!(Place);
29
30 impl Deserialize for PaymentLinksResourceShippingAddressCollection {
31 fn begin(out: &mut Option<Self>) -> &mut dyn Visitor {
32 Place::new(out)
33 }
34 }
35
36 struct Builder<'a> {
37 out: &'a mut Option<PaymentLinksResourceShippingAddressCollection>,
38 builder: PaymentLinksResourceShippingAddressCollectionBuilder,
39 }
40
41 impl Visitor for Place<PaymentLinksResourceShippingAddressCollection> {
42 fn map(&mut self) -> Result<Box<dyn Map + '_>> {
43 Ok(Box::new(Builder {
44 out: &mut self.out,
45 builder: PaymentLinksResourceShippingAddressCollectionBuilder::deser_default(),
46 }))
47 }
48 }
49
50 impl MapBuilder for PaymentLinksResourceShippingAddressCollectionBuilder {
51 type Out = PaymentLinksResourceShippingAddressCollection;
52 fn key(&mut self, k: &str) -> Result<&mut dyn Visitor> {
53 Ok(match k {
54 "allowed_countries" => Deserialize::begin(&mut self.allowed_countries),
55 _ => <dyn Visitor>::ignore(),
56 })
57 }
58
59 fn deser_default() -> Self {
60 Self { allowed_countries: Deserialize::default() }
61 }
62
63 fn take_out(&mut self) -> Option<Self::Out> {
64 let (Some(allowed_countries),) = (self.allowed_countries.take(),) else {
65 return None;
66 };
67 Some(Self::Out { allowed_countries })
68 }
69 }
70
71 impl Map for Builder<'_> {
72 fn key(&mut self, k: &str) -> Result<&mut dyn Visitor> {
73 self.builder.key(k)
74 }
75
76 fn finish(&mut self) -> Result<()> {
77 *self.out = self.builder.take_out();
78 Ok(())
79 }
80 }
81
82 impl ObjectDeser for PaymentLinksResourceShippingAddressCollection {
83 type Builder = PaymentLinksResourceShippingAddressCollectionBuilder;
84 }
85
86 impl FromValueOpt for PaymentLinksResourceShippingAddressCollection {
87 fn from_value(v: Value) -> Option<Self> {
88 let Value::Object(obj) = v else {
89 return None;
90 };
91 let mut b = PaymentLinksResourceShippingAddressCollectionBuilder::deser_default();
92 for (k, v) in obj {
93 match k.as_str() {
94 "allowed_countries" => b.allowed_countries = FromValueOpt::from_value(v),
95 _ => {}
96 }
97 }
98 b.take_out()
99 }
100 }
101};
102#[derive(Clone, Eq, PartialEq)]
105#[non_exhaustive]
106pub enum PaymentLinksResourceShippingAddressCollectionAllowedCountries {
107 Ac,
108 Ad,
109 Ae,
110 Af,
111 Ag,
112 Ai,
113 Al,
114 Am,
115 Ao,
116 Aq,
117 Ar,
118 At,
119 Au,
120 Aw,
121 Ax,
122 Az,
123 Ba,
124 Bb,
125 Bd,
126 Be,
127 Bf,
128 Bg,
129 Bh,
130 Bi,
131 Bj,
132 Bl,
133 Bm,
134 Bn,
135 Bo,
136 Bq,
137 Br,
138 Bs,
139 Bt,
140 Bv,
141 Bw,
142 By,
143 Bz,
144 Ca,
145 Cd,
146 Cf,
147 Cg,
148 Ch,
149 Ci,
150 Ck,
151 Cl,
152 Cm,
153 Cn,
154 Co,
155 Cr,
156 Cv,
157 Cw,
158 Cy,
159 Cz,
160 De,
161 Dj,
162 Dk,
163 Dm,
164 Do,
165 Dz,
166 Ec,
167 Ee,
168 Eg,
169 Eh,
170 Er,
171 Es,
172 Et,
173 Fi,
174 Fj,
175 Fk,
176 Fo,
177 Fr,
178 Ga,
179 Gb,
180 Gd,
181 Ge,
182 Gf,
183 Gg,
184 Gh,
185 Gi,
186 Gl,
187 Gm,
188 Gn,
189 Gp,
190 Gq,
191 Gr,
192 Gs,
193 Gt,
194 Gu,
195 Gw,
196 Gy,
197 Hk,
198 Hn,
199 Hr,
200 Ht,
201 Hu,
202 Id,
203 Ie,
204 Il,
205 Im,
206 In,
207 Io,
208 Iq,
209 Is,
210 It,
211 Je,
212 Jm,
213 Jo,
214 Jp,
215 Ke,
216 Kg,
217 Kh,
218 Ki,
219 Km,
220 Kn,
221 Kr,
222 Kw,
223 Ky,
224 Kz,
225 La,
226 Lb,
227 Lc,
228 Li,
229 Lk,
230 Lr,
231 Ls,
232 Lt,
233 Lu,
234 Lv,
235 Ly,
236 Ma,
237 Mc,
238 Md,
239 Me,
240 Mf,
241 Mg,
242 Mk,
243 Ml,
244 Mm,
245 Mn,
246 Mo,
247 Mq,
248 Mr,
249 Ms,
250 Mt,
251 Mu,
252 Mv,
253 Mw,
254 Mx,
255 My,
256 Mz,
257 Na,
258 Nc,
259 Ne,
260 Ng,
261 Ni,
262 Nl,
263 No,
264 Np,
265 Nr,
266 Nu,
267 Nz,
268 Om,
269 Pa,
270 Pe,
271 Pf,
272 Pg,
273 Ph,
274 Pk,
275 Pl,
276 Pm,
277 Pn,
278 Pr,
279 Ps,
280 Pt,
281 Py,
282 Qa,
283 Re,
284 Ro,
285 Rs,
286 Ru,
287 Rw,
288 Sa,
289 Sb,
290 Sc,
291 Sd,
292 Se,
293 Sg,
294 Sh,
295 Si,
296 Sj,
297 Sk,
298 Sl,
299 Sm,
300 Sn,
301 So,
302 Sr,
303 Ss,
304 St,
305 Sv,
306 Sx,
307 Sz,
308 Ta,
309 Tc,
310 Td,
311 Tf,
312 Tg,
313 Th,
314 Tj,
315 Tk,
316 Tl,
317 Tm,
318 Tn,
319 To,
320 Tr,
321 Tt,
322 Tv,
323 Tw,
324 Tz,
325 Ua,
326 Ug,
327 Us,
328 Uy,
329 Uz,
330 Va,
331 Vc,
332 Ve,
333 Vg,
334 Vn,
335 Vu,
336 Wf,
337 Ws,
338 Xk,
339 Ye,
340 Yt,
341 Za,
342 Zm,
343 Zw,
344 Zz,
345 Unknown(String),
347}
348impl PaymentLinksResourceShippingAddressCollectionAllowedCountries {
349 pub fn as_str(&self) -> &str {
350 use PaymentLinksResourceShippingAddressCollectionAllowedCountries::*;
351 match self {
352 Ac => "AC",
353 Ad => "AD",
354 Ae => "AE",
355 Af => "AF",
356 Ag => "AG",
357 Ai => "AI",
358 Al => "AL",
359 Am => "AM",
360 Ao => "AO",
361 Aq => "AQ",
362 Ar => "AR",
363 At => "AT",
364 Au => "AU",
365 Aw => "AW",
366 Ax => "AX",
367 Az => "AZ",
368 Ba => "BA",
369 Bb => "BB",
370 Bd => "BD",
371 Be => "BE",
372 Bf => "BF",
373 Bg => "BG",
374 Bh => "BH",
375 Bi => "BI",
376 Bj => "BJ",
377 Bl => "BL",
378 Bm => "BM",
379 Bn => "BN",
380 Bo => "BO",
381 Bq => "BQ",
382 Br => "BR",
383 Bs => "BS",
384 Bt => "BT",
385 Bv => "BV",
386 Bw => "BW",
387 By => "BY",
388 Bz => "BZ",
389 Ca => "CA",
390 Cd => "CD",
391 Cf => "CF",
392 Cg => "CG",
393 Ch => "CH",
394 Ci => "CI",
395 Ck => "CK",
396 Cl => "CL",
397 Cm => "CM",
398 Cn => "CN",
399 Co => "CO",
400 Cr => "CR",
401 Cv => "CV",
402 Cw => "CW",
403 Cy => "CY",
404 Cz => "CZ",
405 De => "DE",
406 Dj => "DJ",
407 Dk => "DK",
408 Dm => "DM",
409 Do => "DO",
410 Dz => "DZ",
411 Ec => "EC",
412 Ee => "EE",
413 Eg => "EG",
414 Eh => "EH",
415 Er => "ER",
416 Es => "ES",
417 Et => "ET",
418 Fi => "FI",
419 Fj => "FJ",
420 Fk => "FK",
421 Fo => "FO",
422 Fr => "FR",
423 Ga => "GA",
424 Gb => "GB",
425 Gd => "GD",
426 Ge => "GE",
427 Gf => "GF",
428 Gg => "GG",
429 Gh => "GH",
430 Gi => "GI",
431 Gl => "GL",
432 Gm => "GM",
433 Gn => "GN",
434 Gp => "GP",
435 Gq => "GQ",
436 Gr => "GR",
437 Gs => "GS",
438 Gt => "GT",
439 Gu => "GU",
440 Gw => "GW",
441 Gy => "GY",
442 Hk => "HK",
443 Hn => "HN",
444 Hr => "HR",
445 Ht => "HT",
446 Hu => "HU",
447 Id => "ID",
448 Ie => "IE",
449 Il => "IL",
450 Im => "IM",
451 In => "IN",
452 Io => "IO",
453 Iq => "IQ",
454 Is => "IS",
455 It => "IT",
456 Je => "JE",
457 Jm => "JM",
458 Jo => "JO",
459 Jp => "JP",
460 Ke => "KE",
461 Kg => "KG",
462 Kh => "KH",
463 Ki => "KI",
464 Km => "KM",
465 Kn => "KN",
466 Kr => "KR",
467 Kw => "KW",
468 Ky => "KY",
469 Kz => "KZ",
470 La => "LA",
471 Lb => "LB",
472 Lc => "LC",
473 Li => "LI",
474 Lk => "LK",
475 Lr => "LR",
476 Ls => "LS",
477 Lt => "LT",
478 Lu => "LU",
479 Lv => "LV",
480 Ly => "LY",
481 Ma => "MA",
482 Mc => "MC",
483 Md => "MD",
484 Me => "ME",
485 Mf => "MF",
486 Mg => "MG",
487 Mk => "MK",
488 Ml => "ML",
489 Mm => "MM",
490 Mn => "MN",
491 Mo => "MO",
492 Mq => "MQ",
493 Mr => "MR",
494 Ms => "MS",
495 Mt => "MT",
496 Mu => "MU",
497 Mv => "MV",
498 Mw => "MW",
499 Mx => "MX",
500 My => "MY",
501 Mz => "MZ",
502 Na => "NA",
503 Nc => "NC",
504 Ne => "NE",
505 Ng => "NG",
506 Ni => "NI",
507 Nl => "NL",
508 No => "NO",
509 Np => "NP",
510 Nr => "NR",
511 Nu => "NU",
512 Nz => "NZ",
513 Om => "OM",
514 Pa => "PA",
515 Pe => "PE",
516 Pf => "PF",
517 Pg => "PG",
518 Ph => "PH",
519 Pk => "PK",
520 Pl => "PL",
521 Pm => "PM",
522 Pn => "PN",
523 Pr => "PR",
524 Ps => "PS",
525 Pt => "PT",
526 Py => "PY",
527 Qa => "QA",
528 Re => "RE",
529 Ro => "RO",
530 Rs => "RS",
531 Ru => "RU",
532 Rw => "RW",
533 Sa => "SA",
534 Sb => "SB",
535 Sc => "SC",
536 Sd => "SD",
537 Se => "SE",
538 Sg => "SG",
539 Sh => "SH",
540 Si => "SI",
541 Sj => "SJ",
542 Sk => "SK",
543 Sl => "SL",
544 Sm => "SM",
545 Sn => "SN",
546 So => "SO",
547 Sr => "SR",
548 Ss => "SS",
549 St => "ST",
550 Sv => "SV",
551 Sx => "SX",
552 Sz => "SZ",
553 Ta => "TA",
554 Tc => "TC",
555 Td => "TD",
556 Tf => "TF",
557 Tg => "TG",
558 Th => "TH",
559 Tj => "TJ",
560 Tk => "TK",
561 Tl => "TL",
562 Tm => "TM",
563 Tn => "TN",
564 To => "TO",
565 Tr => "TR",
566 Tt => "TT",
567 Tv => "TV",
568 Tw => "TW",
569 Tz => "TZ",
570 Ua => "UA",
571 Ug => "UG",
572 Us => "US",
573 Uy => "UY",
574 Uz => "UZ",
575 Va => "VA",
576 Vc => "VC",
577 Ve => "VE",
578 Vg => "VG",
579 Vn => "VN",
580 Vu => "VU",
581 Wf => "WF",
582 Ws => "WS",
583 Xk => "XK",
584 Ye => "YE",
585 Yt => "YT",
586 Za => "ZA",
587 Zm => "ZM",
588 Zw => "ZW",
589 Zz => "ZZ",
590 Unknown(v) => v,
591 }
592 }
593}
594
595impl std::str::FromStr for PaymentLinksResourceShippingAddressCollectionAllowedCountries {
596 type Err = std::convert::Infallible;
597 fn from_str(s: &str) -> Result<Self, Self::Err> {
598 use PaymentLinksResourceShippingAddressCollectionAllowedCountries::*;
599 match s {
600 "AC" => Ok(Ac),
601 "AD" => Ok(Ad),
602 "AE" => Ok(Ae),
603 "AF" => Ok(Af),
604 "AG" => Ok(Ag),
605 "AI" => Ok(Ai),
606 "AL" => Ok(Al),
607 "AM" => Ok(Am),
608 "AO" => Ok(Ao),
609 "AQ" => Ok(Aq),
610 "AR" => Ok(Ar),
611 "AT" => Ok(At),
612 "AU" => Ok(Au),
613 "AW" => Ok(Aw),
614 "AX" => Ok(Ax),
615 "AZ" => Ok(Az),
616 "BA" => Ok(Ba),
617 "BB" => Ok(Bb),
618 "BD" => Ok(Bd),
619 "BE" => Ok(Be),
620 "BF" => Ok(Bf),
621 "BG" => Ok(Bg),
622 "BH" => Ok(Bh),
623 "BI" => Ok(Bi),
624 "BJ" => Ok(Bj),
625 "BL" => Ok(Bl),
626 "BM" => Ok(Bm),
627 "BN" => Ok(Bn),
628 "BO" => Ok(Bo),
629 "BQ" => Ok(Bq),
630 "BR" => Ok(Br),
631 "BS" => Ok(Bs),
632 "BT" => Ok(Bt),
633 "BV" => Ok(Bv),
634 "BW" => Ok(Bw),
635 "BY" => Ok(By),
636 "BZ" => Ok(Bz),
637 "CA" => Ok(Ca),
638 "CD" => Ok(Cd),
639 "CF" => Ok(Cf),
640 "CG" => Ok(Cg),
641 "CH" => Ok(Ch),
642 "CI" => Ok(Ci),
643 "CK" => Ok(Ck),
644 "CL" => Ok(Cl),
645 "CM" => Ok(Cm),
646 "CN" => Ok(Cn),
647 "CO" => Ok(Co),
648 "CR" => Ok(Cr),
649 "CV" => Ok(Cv),
650 "CW" => Ok(Cw),
651 "CY" => Ok(Cy),
652 "CZ" => Ok(Cz),
653 "DE" => Ok(De),
654 "DJ" => Ok(Dj),
655 "DK" => Ok(Dk),
656 "DM" => Ok(Dm),
657 "DO" => Ok(Do),
658 "DZ" => Ok(Dz),
659 "EC" => Ok(Ec),
660 "EE" => Ok(Ee),
661 "EG" => Ok(Eg),
662 "EH" => Ok(Eh),
663 "ER" => Ok(Er),
664 "ES" => Ok(Es),
665 "ET" => Ok(Et),
666 "FI" => Ok(Fi),
667 "FJ" => Ok(Fj),
668 "FK" => Ok(Fk),
669 "FO" => Ok(Fo),
670 "FR" => Ok(Fr),
671 "GA" => Ok(Ga),
672 "GB" => Ok(Gb),
673 "GD" => Ok(Gd),
674 "GE" => Ok(Ge),
675 "GF" => Ok(Gf),
676 "GG" => Ok(Gg),
677 "GH" => Ok(Gh),
678 "GI" => Ok(Gi),
679 "GL" => Ok(Gl),
680 "GM" => Ok(Gm),
681 "GN" => Ok(Gn),
682 "GP" => Ok(Gp),
683 "GQ" => Ok(Gq),
684 "GR" => Ok(Gr),
685 "GS" => Ok(Gs),
686 "GT" => Ok(Gt),
687 "GU" => Ok(Gu),
688 "GW" => Ok(Gw),
689 "GY" => Ok(Gy),
690 "HK" => Ok(Hk),
691 "HN" => Ok(Hn),
692 "HR" => Ok(Hr),
693 "HT" => Ok(Ht),
694 "HU" => Ok(Hu),
695 "ID" => Ok(Id),
696 "IE" => Ok(Ie),
697 "IL" => Ok(Il),
698 "IM" => Ok(Im),
699 "IN" => Ok(In),
700 "IO" => Ok(Io),
701 "IQ" => Ok(Iq),
702 "IS" => Ok(Is),
703 "IT" => Ok(It),
704 "JE" => Ok(Je),
705 "JM" => Ok(Jm),
706 "JO" => Ok(Jo),
707 "JP" => Ok(Jp),
708 "KE" => Ok(Ke),
709 "KG" => Ok(Kg),
710 "KH" => Ok(Kh),
711 "KI" => Ok(Ki),
712 "KM" => Ok(Km),
713 "KN" => Ok(Kn),
714 "KR" => Ok(Kr),
715 "KW" => Ok(Kw),
716 "KY" => Ok(Ky),
717 "KZ" => Ok(Kz),
718 "LA" => Ok(La),
719 "LB" => Ok(Lb),
720 "LC" => Ok(Lc),
721 "LI" => Ok(Li),
722 "LK" => Ok(Lk),
723 "LR" => Ok(Lr),
724 "LS" => Ok(Ls),
725 "LT" => Ok(Lt),
726 "LU" => Ok(Lu),
727 "LV" => Ok(Lv),
728 "LY" => Ok(Ly),
729 "MA" => Ok(Ma),
730 "MC" => Ok(Mc),
731 "MD" => Ok(Md),
732 "ME" => Ok(Me),
733 "MF" => Ok(Mf),
734 "MG" => Ok(Mg),
735 "MK" => Ok(Mk),
736 "ML" => Ok(Ml),
737 "MM" => Ok(Mm),
738 "MN" => Ok(Mn),
739 "MO" => Ok(Mo),
740 "MQ" => Ok(Mq),
741 "MR" => Ok(Mr),
742 "MS" => Ok(Ms),
743 "MT" => Ok(Mt),
744 "MU" => Ok(Mu),
745 "MV" => Ok(Mv),
746 "MW" => Ok(Mw),
747 "MX" => Ok(Mx),
748 "MY" => Ok(My),
749 "MZ" => Ok(Mz),
750 "NA" => Ok(Na),
751 "NC" => Ok(Nc),
752 "NE" => Ok(Ne),
753 "NG" => Ok(Ng),
754 "NI" => Ok(Ni),
755 "NL" => Ok(Nl),
756 "NO" => Ok(No),
757 "NP" => Ok(Np),
758 "NR" => Ok(Nr),
759 "NU" => Ok(Nu),
760 "NZ" => Ok(Nz),
761 "OM" => Ok(Om),
762 "PA" => Ok(Pa),
763 "PE" => Ok(Pe),
764 "PF" => Ok(Pf),
765 "PG" => Ok(Pg),
766 "PH" => Ok(Ph),
767 "PK" => Ok(Pk),
768 "PL" => Ok(Pl),
769 "PM" => Ok(Pm),
770 "PN" => Ok(Pn),
771 "PR" => Ok(Pr),
772 "PS" => Ok(Ps),
773 "PT" => Ok(Pt),
774 "PY" => Ok(Py),
775 "QA" => Ok(Qa),
776 "RE" => Ok(Re),
777 "RO" => Ok(Ro),
778 "RS" => Ok(Rs),
779 "RU" => Ok(Ru),
780 "RW" => Ok(Rw),
781 "SA" => Ok(Sa),
782 "SB" => Ok(Sb),
783 "SC" => Ok(Sc),
784 "SD" => Ok(Sd),
785 "SE" => Ok(Se),
786 "SG" => Ok(Sg),
787 "SH" => Ok(Sh),
788 "SI" => Ok(Si),
789 "SJ" => Ok(Sj),
790 "SK" => Ok(Sk),
791 "SL" => Ok(Sl),
792 "SM" => Ok(Sm),
793 "SN" => Ok(Sn),
794 "SO" => Ok(So),
795 "SR" => Ok(Sr),
796 "SS" => Ok(Ss),
797 "ST" => Ok(St),
798 "SV" => Ok(Sv),
799 "SX" => Ok(Sx),
800 "SZ" => Ok(Sz),
801 "TA" => Ok(Ta),
802 "TC" => Ok(Tc),
803 "TD" => Ok(Td),
804 "TF" => Ok(Tf),
805 "TG" => Ok(Tg),
806 "TH" => Ok(Th),
807 "TJ" => Ok(Tj),
808 "TK" => Ok(Tk),
809 "TL" => Ok(Tl),
810 "TM" => Ok(Tm),
811 "TN" => Ok(Tn),
812 "TO" => Ok(To),
813 "TR" => Ok(Tr),
814 "TT" => Ok(Tt),
815 "TV" => Ok(Tv),
816 "TW" => Ok(Tw),
817 "TZ" => Ok(Tz),
818 "UA" => Ok(Ua),
819 "UG" => Ok(Ug),
820 "US" => Ok(Us),
821 "UY" => Ok(Uy),
822 "UZ" => Ok(Uz),
823 "VA" => Ok(Va),
824 "VC" => Ok(Vc),
825 "VE" => Ok(Ve),
826 "VG" => Ok(Vg),
827 "VN" => Ok(Vn),
828 "VU" => Ok(Vu),
829 "WF" => Ok(Wf),
830 "WS" => Ok(Ws),
831 "XK" => Ok(Xk),
832 "YE" => Ok(Ye),
833 "YT" => Ok(Yt),
834 "ZA" => Ok(Za),
835 "ZM" => Ok(Zm),
836 "ZW" => Ok(Zw),
837 "ZZ" => Ok(Zz),
838 v => Ok(Unknown(v.to_owned())),
839 }
840 }
841}
842impl std::fmt::Display for PaymentLinksResourceShippingAddressCollectionAllowedCountries {
843 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
844 f.write_str(self.as_str())
845 }
846}
847
848impl std::fmt::Debug for PaymentLinksResourceShippingAddressCollectionAllowedCountries {
849 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
850 f.write_str(self.as_str())
851 }
852}
853#[cfg(feature = "serialize")]
854impl serde::Serialize for PaymentLinksResourceShippingAddressCollectionAllowedCountries {
855 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
856 where
857 S: serde::Serializer,
858 {
859 serializer.serialize_str(self.as_str())
860 }
861}
862impl miniserde::Deserialize for PaymentLinksResourceShippingAddressCollectionAllowedCountries {
863 fn begin(out: &mut Option<Self>) -> &mut dyn miniserde::de::Visitor {
864 crate::Place::new(out)
865 }
866}
867
868impl miniserde::de::Visitor
869 for crate::Place<PaymentLinksResourceShippingAddressCollectionAllowedCountries>
870{
871 fn string(&mut self, s: &str) -> miniserde::Result<()> {
872 use std::str::FromStr;
873 self.out = Some(
874 PaymentLinksResourceShippingAddressCollectionAllowedCountries::from_str(s).unwrap(),
875 );
876 Ok(())
877 }
878}
879
880stripe_types::impl_from_val_with_from_str!(
881 PaymentLinksResourceShippingAddressCollectionAllowedCountries
882);
883#[cfg(feature = "deserialize")]
884impl<'de> serde::Deserialize<'de>
885 for PaymentLinksResourceShippingAddressCollectionAllowedCountries
886{
887 fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
888 use std::str::FromStr;
889 let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
890 Ok(Self::from_str(&s).unwrap())
891 }
892}