1#[derive(Copy,Clone,Debug,)]#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
5#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
6pub struct Metadata {
7
8}
9#[doc(hidden)]
10pub struct MetadataBuilder {
11
12}
13
14#[allow(unused_variables, irrefutable_let_patterns, clippy::let_unit_value, clippy::match_single_binding, clippy::single_match)]
15const _: () = {
16 use miniserde::de::{Map, Visitor};
17 use miniserde::json::Value;
18 use miniserde::{make_place, Deserialize, Result};
19 use payjp_types::{MapBuilder, ObjectDeser};
20 use payjp_types::miniserde_helpers::FromValueOpt;
21
22 make_place!(Place);
23
24 impl Deserialize for Metadata {
25 fn begin(out: &mut Option<Self>) -> &mut dyn Visitor {
26 Place::new(out)
27 }
28}
29
30struct Builder<'a> {
31 out: &'a mut Option<Metadata>,
32 builder: MetadataBuilder,
33}
34
35impl Visitor for Place<Metadata> {
36 fn map(&mut self) -> Result<Box<dyn Map + '_>> {
37 Ok(Box::new(Builder {
38 out: &mut self.out,
39 builder: MetadataBuilder::deser_default(),
40 }))
41 }
42}
43
44impl MapBuilder for MetadataBuilder {
45 type Out = Metadata;
46 fn key(&mut self, k: &str) -> Result<&mut dyn Visitor> {
47 Ok(match k {
48
49 _ => <dyn Visitor>::ignore(),
50 })
51 }
52
53 fn deser_default() -> Self {
54 Self {
55
56 }
57 }
58
59 fn take_out(&mut self) -> Option<Self::Out> {
60 let () = () else {
61 return None;
62 };
63 Some(Self::Out { })
64 }
65}
66
67impl<'a> Map for Builder<'a> {
68 fn key(&mut self, k: &str) -> Result<&mut dyn Visitor> {
69 self.builder.key(k)
70 }
71
72 fn finish(&mut self) -> Result<()> {
73 *self.out = self.builder.take_out();
74 Ok(())
75 }
76}
77
78impl ObjectDeser for Metadata {
79 type Builder = MetadataBuilder;
80}
81
82impl FromValueOpt for Metadata {
83 fn from_value(v: Value) -> Option<Self> {
84 let Value::Object(obj) = v else {
85 return None;
86 };
87 let mut b = MetadataBuilder::deser_default();
88 for (k, v) in obj {
89 match k.as_str() {
90
91 _ => {}
92 }
93 }
94 b.take_out()
95 }
96}
97
98};