(&self, serializer: S)
| 130 | |
| 131 | impl Serialize for Watch { |
| 132 | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> |
| 133 | where |
| 134 | S: serde::Serializer, |
| 135 | { |
| 136 | use serde::ser::SerializeStruct; |
| 137 | |
| 138 | // Count non-empty fields |
| 139 | let field_count = self.ignore_changes as usize |
| 140 | + self.only_lambda_apis as usize |
| 141 | + !self.invoke_address.is_empty() as usize |
| 142 | + (self.invoke_port != 0) as usize |
| 143 | + self.print_traces as usize |
| 144 | + self.wait as usize |
| 145 | + self.disable_cors as usize |
| 146 | + self.timeout.is_some() as usize |
| 147 | + (self.concurrency != 1) as usize |
| 148 | + self.router.is_some() as usize |
| 149 | + self.cargo_opts.manifest_path.is_some() as usize |
| 150 | + self.cargo_opts.release as usize |
| 151 | + self.cargo_opts.ignore_rust_version as usize |
| 152 | + self.cargo_opts.unit_graph as usize |
| 153 | + !self.cargo_opts.packages.is_empty() as usize |
| 154 | + !self.cargo_opts.bin.is_empty() as usize |
| 155 | + !self.cargo_opts.example.is_empty() as usize |
| 156 | + !self.cargo_opts.args.is_empty() as usize |
| 157 | + count_common_options(&self.cargo_opts.common) |
| 158 | + self.env_options.count_fields() |
| 159 | + self.tls_options.count_fields(); |
| 160 | |
| 161 | let mut state = serializer.serialize_struct("Watch", field_count)?; |
| 162 | |
| 163 | // Only serialize bool fields that are true |
| 164 | if self.ignore_changes { |
| 165 | state.serialize_field("ignore_changes", &true)?; |
| 166 | } |
| 167 | if self.only_lambda_apis { |
| 168 | state.serialize_field("only_lambda_apis", &true)?; |
| 169 | } |
| 170 | if !self.invoke_address.is_empty() { |
| 171 | state.serialize_field("invoke_address", &self.invoke_address)?; |
| 172 | } |
| 173 | if self.invoke_port != 0 { |
| 174 | state.serialize_field("invoke_port", &self.invoke_port)?; |
| 175 | } |
| 176 | if self.print_traces { |
| 177 | state.serialize_field("print_traces", &true)?; |
| 178 | } |
| 179 | if self.wait { |
| 180 | state.serialize_field("wait", &true)?; |
| 181 | } |
| 182 | if self.disable_cors { |
| 183 | state.serialize_field("disable_cors", &true)?; |
| 184 | } |
| 185 | |
| 186 | // Only serialize Some values for Options |
| 187 | if let Some(timeout) = &self.timeout { |
| 188 | state.serialize_field("timeout", timeout)?; |
| 189 | } |
nothing calls this directly
no test coverage detected