178 178 | #[allow(missing_docs)] // documentation missing in model
|
179 179 | pub fn unix_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
|
180 180 | self.unix_timestamp.as_ref()
|
181 181 | }
|
182 182 | }
|
183 183 | static KITCHENSINK_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
|
184 184 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink", "aws.protocoltests.json", "KitchenSink");
|
185 185 | static KITCHENSINK_MEMBER_BLOB: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
186 186 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$Blob", "aws.protocoltests.json", "KitchenSink"),
|
187 187 | ::aws_smithy_schema::ShapeType::Blob,
|
188 - | "blob",
|
188 + | "Blob",
|
189 189 | 0,
|
190 190 | );
|
191 191 | static KITCHENSINK_MEMBER_BOOLEAN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
192 192 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$Boolean", "aws.protocoltests.json", "KitchenSink"),
|
193 193 | ::aws_smithy_schema::ShapeType::Boolean,
|
194 - | "boolean",
|
194 + | "Boolean",
|
195 195 | 1,
|
196 196 | );
|
197 197 | static KITCHENSINK_MEMBER_DOUBLE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
198 198 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$Double", "aws.protocoltests.json", "KitchenSink"),
|
199 199 | ::aws_smithy_schema::ShapeType::Double,
|
200 - | "double",
|
200 + | "Double",
|
201 201 | 2,
|
202 202 | );
|
203 203 | static KITCHENSINK_MEMBER_EMPTY_STRUCT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
204 204 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$EmptyStruct", "aws.protocoltests.json", "KitchenSink"),
|
205 205 | ::aws_smithy_schema::ShapeType::Structure,
|
206 - | "empty_struct",
|
206 + | "EmptyStruct",
|
207 207 | 3,
|
208 208 | );
|
209 209 | static KITCHENSINK_MEMBER_FLOAT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
210 210 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$Float", "aws.protocoltests.json", "KitchenSink"),
|
211 211 | ::aws_smithy_schema::ShapeType::Float,
|
212 - | "float",
|
212 + | "Float",
|
213 213 | 4,
|
214 214 | );
|
215 215 | static KITCHENSINK_MEMBER_HTTPDATE_TIMESTAMP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
216 216 | ::aws_smithy_schema::ShapeId::from_static(
|
217 217 | "aws.protocoltests.json#KitchenSink$HttpdateTimestamp",
|
218 218 | "aws.protocoltests.json",
|
219 219 | "KitchenSink",
|
220 220 | ),
|
221 221 | ::aws_smithy_schema::ShapeType::Timestamp,
|
222 - | "httpdate_timestamp",
|
222 + | "HttpdateTimestamp",
|
223 223 | 5,
|
224 224 | )
|
225 225 | .with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::HttpDate);
|
226 226 | static KITCHENSINK_MEMBER_INTEGER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
227 227 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$Integer", "aws.protocoltests.json", "KitchenSink"),
|
228 228 | ::aws_smithy_schema::ShapeType::Integer,
|
229 - | "integer",
|
229 + | "Integer",
|
230 230 | 6,
|
231 231 | );
|
232 232 | static KITCHENSINK_MEMBER_ISO8601_TIMESTAMP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
233 233 | ::aws_smithy_schema::ShapeId::from_static(
|
234 234 | "aws.protocoltests.json#KitchenSink$Iso8601Timestamp",
|
235 235 | "aws.protocoltests.json",
|
236 236 | "KitchenSink",
|
237 237 | ),
|
238 238 | ::aws_smithy_schema::ShapeType::Timestamp,
|
239 - | "iso8601_timestamp",
|
239 + | "Iso8601Timestamp",
|
240 240 | 7,
|
241 241 | )
|
242 242 | .with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::DateTime);
|
243 243 | static KITCHENSINK_MEMBER_JSON_VALUE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
244 244 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$JsonValue", "aws.protocoltests.json", "KitchenSink"),
|
245 245 | ::aws_smithy_schema::ShapeType::String,
|
246 - | "json_value",
|
246 + | "JsonValue",
|
247 247 | 8,
|
248 - | );
|
248 + | )
|
249 + | .with_media_type("application/json");
|
249 250 | static KITCHENSINK_MEMBER_LIST_OF_LISTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
250 251 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$ListOfLists", "aws.protocoltests.json", "KitchenSink"),
|
251 252 | ::aws_smithy_schema::ShapeType::List,
|
252 - | "list_of_lists",
|
253 + | "ListOfLists",
|
253 254 | 9,
|
254 255 | );
|
255 256 | static KITCHENSINK_MEMBER_LIST_OF_MAPS_OF_STRINGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
256 257 | ::aws_smithy_schema::ShapeId::from_static(
|
257 258 | "aws.protocoltests.json#KitchenSink$ListOfMapsOfStrings",
|
258 259 | "aws.protocoltests.json",
|
259 260 | "KitchenSink",
|
260 261 | ),
|
261 262 | ::aws_smithy_schema::ShapeType::List,
|
262 - | "list_of_maps_of_strings",
|
263 + | "ListOfMapsOfStrings",
|
263 264 | 10,
|
264 265 | );
|
265 266 | static KITCHENSINK_MEMBER_LIST_OF_STRINGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
266 267 | ::aws_smithy_schema::ShapeId::from_static(
|
267 268 | "aws.protocoltests.json#KitchenSink$ListOfStrings",
|
268 269 | "aws.protocoltests.json",
|
269 270 | "KitchenSink",
|
270 271 | ),
|
271 272 | ::aws_smithy_schema::ShapeType::List,
|
272 - | "list_of_strings",
|
273 + | "ListOfStrings",
|
273 274 | 11,
|
274 275 | );
|
275 276 | static KITCHENSINK_MEMBER_LIST_OF_STRUCTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
276 277 | ::aws_smithy_schema::ShapeId::from_static(
|
277 278 | "aws.protocoltests.json#KitchenSink$ListOfStructs",
|
278 279 | "aws.protocoltests.json",
|
279 280 | "KitchenSink",
|
280 281 | ),
|
281 282 | ::aws_smithy_schema::ShapeType::List,
|
282 - | "list_of_structs",
|
283 + | "ListOfStructs",
|
283 284 | 12,
|
284 285 | );
|
285 286 | static KITCHENSINK_MEMBER_LONG: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
286 287 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$Long", "aws.protocoltests.json", "KitchenSink"),
|
287 288 | ::aws_smithy_schema::ShapeType::Long,
|
288 - | "long",
|
289 + | "Long",
|
289 290 | 13,
|
290 291 | );
|
291 292 | static KITCHENSINK_MEMBER_MAP_OF_LISTS_OF_STRINGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
292 293 | ::aws_smithy_schema::ShapeId::from_static(
|
293 294 | "aws.protocoltests.json#KitchenSink$MapOfListsOfStrings",
|
294 295 | "aws.protocoltests.json",
|
295 296 | "KitchenSink",
|
296 297 | ),
|
297 298 | ::aws_smithy_schema::ShapeType::Map,
|
298 - | "map_of_lists_of_strings",
|
299 + | "MapOfListsOfStrings",
|
299 300 | 14,
|
300 301 | );
|
301 302 | static KITCHENSINK_MEMBER_MAP_OF_MAPS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
302 303 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$MapOfMaps", "aws.protocoltests.json", "KitchenSink"),
|
303 304 | ::aws_smithy_schema::ShapeType::Map,
|
304 - | "map_of_maps",
|
305 + | "MapOfMaps",
|
305 306 | 15,
|
306 307 | );
|
307 308 | static KITCHENSINK_MEMBER_MAP_OF_STRINGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
308 309 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$MapOfStrings", "aws.protocoltests.json", "KitchenSink"),
|
309 310 | ::aws_smithy_schema::ShapeType::Map,
|
310 - | "map_of_strings",
|
311 + | "MapOfStrings",
|
311 312 | 16,
|
312 313 | );
|
313 314 | static KITCHENSINK_MEMBER_MAP_OF_STRUCTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
314 315 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$MapOfStructs", "aws.protocoltests.json", "KitchenSink"),
|
315 316 | ::aws_smithy_schema::ShapeType::Map,
|
316 - | "map_of_structs",
|
317 + | "MapOfStructs",
|
317 318 | 17,
|
318 319 | );
|
319 320 | static KITCHENSINK_MEMBER_RECURSIVE_LIST: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
320 321 | ::aws_smithy_schema::ShapeId::from_static(
|
321 322 | "aws.protocoltests.json#KitchenSink$RecursiveList",
|
322 323 | "aws.protocoltests.json",
|
323 324 | "KitchenSink",
|
324 325 | ),
|
325 326 | ::aws_smithy_schema::ShapeType::List,
|
326 - | "recursive_list",
|
327 + | "RecursiveList",
|
327 328 | 18,
|
328 329 | );
|
329 330 | static KITCHENSINK_MEMBER_RECURSIVE_MAP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
330 331 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$RecursiveMap", "aws.protocoltests.json", "KitchenSink"),
|
331 332 | ::aws_smithy_schema::ShapeType::Map,
|
332 - | "recursive_map",
|
333 + | "RecursiveMap",
|
333 334 | 19,
|
334 335 | );
|
335 336 | static KITCHENSINK_MEMBER_RECURSIVE_STRUCT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
336 337 | ::aws_smithy_schema::ShapeId::from_static(
|
337 338 | "aws.protocoltests.json#KitchenSink$RecursiveStruct",
|
338 339 | "aws.protocoltests.json",
|
339 340 | "KitchenSink",
|
340 341 | ),
|
341 342 | ::aws_smithy_schema::ShapeType::Structure,
|
342 - | "recursive_struct",
|
343 + | "RecursiveStruct",
|
343 344 | 20,
|
344 345 | );
|
345 346 | static KITCHENSINK_MEMBER_SIMPLE_STRUCT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
346 347 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$SimpleStruct", "aws.protocoltests.json", "KitchenSink"),
|
347 348 | ::aws_smithy_schema::ShapeType::Structure,
|
348 - | "simple_struct",
|
349 + | "SimpleStruct",
|
349 350 | 21,
|
350 351 | );
|
351 352 | static KITCHENSINK_MEMBER_STRING: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
352 353 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$String", "aws.protocoltests.json", "KitchenSink"),
|
353 354 | ::aws_smithy_schema::ShapeType::String,
|
354 - | "string",
|
355 + | "String",
|
355 356 | 22,
|
356 357 | );
|
357 358 | static KITCHENSINK_MEMBER_STRUCT_WITH_JSON_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
358 359 | ::aws_smithy_schema::ShapeId::from_static(
|
359 360 | "aws.protocoltests.json#KitchenSink$StructWithJsonName",
|
360 361 | "aws.protocoltests.json",
|
361 362 | "KitchenSink",
|
362 363 | ),
|
363 364 | ::aws_smithy_schema::ShapeType::Structure,
|
364 - | "struct_with_json_name",
|
365 + | "StructWithJsonName",
|
365 366 | 23,
|
366 367 | );
|
367 368 | static KITCHENSINK_MEMBER_TIMESTAMP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
368 369 | ::aws_smithy_schema::ShapeId::from_static("aws.protocoltests.json#KitchenSink$Timestamp", "aws.protocoltests.json", "KitchenSink"),
|
369 370 | ::aws_smithy_schema::ShapeType::Timestamp,
|
370 - | "timestamp",
|
371 + | "Timestamp",
|
371 372 | 24,
|
372 373 | );
|
373 374 | static KITCHENSINK_MEMBER_UNIX_TIMESTAMP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
374 375 | ::aws_smithy_schema::ShapeId::from_static(
|
375 376 | "aws.protocoltests.json#KitchenSink$UnixTimestamp",
|
376 377 | "aws.protocoltests.json",
|
377 378 | "KitchenSink",
|
378 379 | ),
|
379 380 | ::aws_smithy_schema::ShapeType::Timestamp,
|
380 - | "unix_timestamp",
|
381 + | "UnixTimestamp",
|
381 382 | 25,
|
382 383 | )
|
383 384 | .with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::EpochSeconds);
|
384 385 | static KITCHENSINK_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
385 386 | KITCHENSINK_SCHEMA_ID,
|
386 387 | ::aws_smithy_schema::ShapeType::Structure,
|
387 388 | &[
|
388 389 | &KITCHENSINK_MEMBER_BLOB,
|
389 390 | &KITCHENSINK_MEMBER_BOOLEAN,
|
390 391 | &KITCHENSINK_MEMBER_DOUBLE,
|
448 449 | ser.write_timestamp(&KITCHENSINK_MEMBER_ISO8601_TIMESTAMP, val)?;
|
449 450 | }
|
450 451 | if let Some(ref val) = self.json_value {
|
451 452 | ser.write_string(&KITCHENSINK_MEMBER_JSON_VALUE, val)?;
|
452 453 | }
|
453 454 | if let Some(ref val) = self.list_of_lists {
|
454 455 | ser.write_list(
|
455 456 | &KITCHENSINK_MEMBER_LIST_OF_LISTS,
|
456 457 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
457 458 | for item in val {
|
458 - | todo!("schema: unsupported list element type");
|
459 + | ser.write_list(
|
460 + | &::aws_smithy_schema::prelude::DOCUMENT,
|
461 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
462 + | for item in item {
|
463 + | ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
|
464 + | }
|
465 + | Ok(())
|
466 + | },
|
467 + | )?;
|
459 468 | }
|
460 469 | Ok(())
|
461 470 | },
|
462 471 | )?;
|
463 472 | }
|
464 473 | if let Some(ref val) = self.list_of_maps_of_strings {
|
465 474 | ser.write_list(
|
466 475 | &KITCHENSINK_MEMBER_LIST_OF_MAPS_OF_STRINGS,
|
467 476 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
468 477 | for item in val {
|
469 - | todo!("schema: unsupported list element type");
|
478 + | ser.write_map(
|
479 + | &::aws_smithy_schema::prelude::DOCUMENT,
|
480 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
481 + | for (key, value) in item {
|
482 + | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
483 + | ser.write_string(&::aws_smithy_schema::prelude::STRING, value)?;
|
484 + | }
|
485 + | Ok(())
|
486 + | },
|
487 + | )?;
|
470 488 | }
|
471 489 | Ok(())
|
472 490 | },
|
473 491 | )?;
|
474 492 | }
|
475 493 | if let Some(ref val) = self.list_of_strings {
|
476 494 | ser.write_list(
|
477 495 | &KITCHENSINK_MEMBER_LIST_OF_STRINGS,
|
478 496 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
479 497 | for item in val {
|
480 498 | ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
|
481 499 | }
|
482 500 | Ok(())
|
483 501 | },
|
484 502 | )?;
|
485 503 | }
|
486 504 | if let Some(ref val) = self.list_of_structs {
|
487 505 | ser.write_list(
|
488 506 | &KITCHENSINK_MEMBER_LIST_OF_STRUCTS,
|
489 507 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
490 508 | for item in val {
|
491 509 | ser.write_struct(crate::types::SimpleStruct::SCHEMA, item)?;
|
492 510 | }
|
493 511 | Ok(())
|
494 512 | },
|
495 513 | )?;
|
496 514 | }
|
497 515 | if let Some(ref val) = self.long {
|
498 516 | ser.write_long(&KITCHENSINK_MEMBER_LONG, *val)?;
|
499 517 | }
|
500 518 | if let Some(ref val) = self.map_of_lists_of_strings {
|
501 519 | ser.write_map(
|
502 520 | &KITCHENSINK_MEMBER_MAP_OF_LISTS_OF_STRINGS,
|
503 521 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
504 522 | for (key, value) in val {
|
505 523 | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
506 - | todo!("schema: unsupported map value type");
|
524 + |
|
525 + | ser.write_list(
|
526 + | &::aws_smithy_schema::prelude::DOCUMENT,
|
527 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
528 + | for item in value {
|
529 + | ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
|
530 + | }
|
531 + | Ok(())
|
532 + | },
|
533 + | )?;
|
507 534 | }
|
508 535 | Ok(())
|
509 536 | },
|
510 537 | )?;
|
511 538 | }
|
512 539 | if let Some(ref val) = self.map_of_maps {
|
513 540 | ser.write_map(
|
514 541 | &KITCHENSINK_MEMBER_MAP_OF_MAPS,
|
515 542 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
516 543 | for (key, value) in val {
|
517 544 | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
518 - | todo!("schema: unsupported map value type");
|
545 + |
|
546 + | ser.write_map(
|
547 + | &::aws_smithy_schema::prelude::DOCUMENT,
|
548 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
549 + | for (key, value) in value {
|
550 + | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
551 + | ser.write_string(&::aws_smithy_schema::prelude::STRING, value)?;
|
552 + | }
|
553 + | Ok(())
|
554 + | },
|
555 + | )?;
|
519 556 | }
|
520 557 | Ok(())
|
521 558 | },
|
522 559 | )?;
|
523 560 | }
|
524 561 | if let Some(ref val) = self.map_of_strings {
|
525 562 | ser.write_map(
|
526 563 | &KITCHENSINK_MEMBER_MAP_OF_STRINGS,
|
527 564 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
528 565 | for (key, value) in val {
|
584 621 | ser.write_timestamp(&KITCHENSINK_MEMBER_TIMESTAMP, val)?;
|
585 622 | }
|
586 623 | if let Some(ref val) = self.unix_timestamp {
|
587 624 | ser.write_timestamp(&KITCHENSINK_MEMBER_UNIX_TIMESTAMP, val)?;
|
588 625 | }
|
589 626 | Ok(())
|
590 627 | }
|
591 628 | }
|
592 629 | impl KitchenSink {
|
593 630 | /// Deserializes this structure from a [`ShapeDeserializer`].
|
594 - | pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
|
595 - | deserializer: &mut D,
|
631 + | pub fn deserialize(
|
632 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
596 633 | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
597 634 | #[allow(unused_variables, unused_mut)]
|
598 635 | let mut builder = Self::builder();
|
599 636 | #[allow(
|
600 637 | unused_variables,
|
601 638 | unreachable_code,
|
602 639 | clippy::single_match,
|
603 640 | clippy::match_single_binding,
|
604 641 | clippy::diverging_sub_expression
|
605 642 | )]
|
606 - | deserializer.read_struct(&KITCHENSINK_SCHEMA, (), |_, member, deser| {
|
643 + | deserializer.read_struct(&KITCHENSINK_SCHEMA, &mut |member, deser| {
|
607 644 | match member.member_index() {
|
608 645 | Some(0) => {
|
609 646 | builder.blob = Some(deser.read_blob(member)?);
|
610 647 | }
|
611 648 | Some(1) => {
|
612 649 | builder.boolean = Some(deser.read_boolean(member)?);
|
613 650 | }
|
614 651 | Some(2) => {
|
615 652 | builder.double = Some(deser.read_double(member)?);
|
616 653 | }
|
617 654 | Some(3) => {
|
618 655 | builder.empty_struct = Some(crate::types::EmptyStruct::deserialize(deser)?);
|
619 656 | }
|
620 657 | Some(4) => {
|
621 658 | builder.float = Some(deser.read_float(member)?);
|
622 659 | }
|
623 660 | Some(5) => {
|
624 661 | builder.httpdate_timestamp = Some(deser.read_timestamp(member)?);
|
625 662 | }
|
626 663 | Some(6) => {
|
627 664 | builder.integer = Some(deser.read_integer(member)?);
|
628 665 | }
|
629 666 | Some(7) => {
|
630 667 | builder.iso8601_timestamp = Some(deser.read_timestamp(member)?);
|
631 668 | }
|
632 669 | Some(8) => {
|
633 670 | builder.json_value = Some(deser.read_string(member)?);
|
634 671 | }
|
635 672 | Some(9) => {
|
636 673 | builder.list_of_lists = Some({
|
637 - | let container = if let Some(cap) = deser.container_size() {
|
638 - | Vec::with_capacity(cap)
|
639 - | } else {
|
640 - | Vec::new()
|
641 - | };
|
642 - | deser.read_list(member, container, |mut list, deser| {
|
643 - | list.push(todo!("deserialize nested aggregate"));
|
644 - | Ok(list)
|
645 - | })?
|
674 + | let mut container = Vec::new();
|
675 + | deser.read_list(member, &mut |deser| {
|
676 + | container.push({
|
677 + | let mut list = Vec::new();
|
678 + | deser.read_list(member, &mut |deser| {
|
679 + | list.push(deser.read_string(&::aws_smithy_schema::prelude::DOCUMENT)?);
|
680 + | Ok(())
|
681 + | })?;
|
682 + | list
|
683 + | });
|
684 + | Ok(())
|
685 + | })?;
|
686 + | container
|
646 687 | });
|
647 688 | }
|
648 689 | Some(10) => {
|
649 690 | builder.list_of_maps_of_strings = Some({
|
650 - | let container = if let Some(cap) = deser.container_size() {
|
651 - | Vec::with_capacity(cap)
|
652 - | } else {
|
653 - | Vec::new()
|
654 - | };
|
655 - | deser.read_list(member, container, |mut list, deser| {
|
656 - | list.push(todo!("deserialize nested aggregate"));
|
657 - | Ok(list)
|
658 - | })?
|
691 + | let mut container = Vec::new();
|
692 + | deser.read_list(member, &mut |deser| {
|
693 + | container.push({
|
694 + | let mut map = ::std::collections::HashMap::new();
|
695 + | deser.read_map(member, &mut |key, deser| {
|
696 + | let value = deser.read_string(&::aws_smithy_schema::prelude::DOCUMENT)?;
|
697 + | map.insert(key, value);
|
698 + | Ok(())
|
699 + | })?;
|
700 + | map
|
701 + | });
|
702 + | Ok(())
|
703 + | })?;
|
704 + | container
|
659 705 | });
|
660 706 | }
|
661 707 | Some(11) => {
|
662 - | builder.list_of_strings = Some({
|
663 - | let container = if let Some(cap) = deser.container_size() {
|
664 - | Vec::with_capacity(cap)
|
665 - | } else {
|
666 - | Vec::new()
|
667 - | };
|
668 - | deser.read_list(member, container, |mut list, deser| {
|
669 - | list.push(deser.read_string(member)?);
|
670 - | Ok(list)
|
671 - | })?
|
672 - | });
|
708 + | builder.list_of_strings = Some(deser.read_string_list(member)?);
|
673 709 | }
|
674 710 | Some(12) => {
|
675 711 | builder.list_of_structs = Some({
|
676 - | let container = if let Some(cap) = deser.container_size() {
|
677 - | Vec::with_capacity(cap)
|
678 - | } else {
|
679 - | Vec::new()
|
680 - | };
|
681 - | deser.read_list(member, container, |mut list, deser| {
|
682 - | list.push(crate::types::SimpleStruct::deserialize(deser)?);
|
683 - | Ok(list)
|
684 - | })?
|
712 + | let mut container = Vec::new();
|
713 + | deser.read_list(member, &mut |deser| {
|
714 + | container.push(crate::types::SimpleStruct::deserialize(deser)?);
|
715 + | Ok(())
|
716 + | })?;
|
717 + | container
|
685 718 | });
|
686 719 | }
|
687 720 | Some(13) => {
|
688 721 | builder.long = Some(deser.read_long(member)?);
|
689 722 | }
|
690 723 | Some(14) => {
|
691 724 | builder.map_of_lists_of_strings = Some({
|
692 - | let container = if let Some(cap) = deser.container_size() {
|
693 - | std::collections::HashMap::with_capacity(cap)
|
694 - | } else {
|
695 - | std::collections::HashMap::new()
|
696 - | };
|
697 - | deser.read_map(member, container, |mut map, key, deser| {
|
698 - | map.insert(key, todo!("deserialize nested aggregate"));
|
699 - | Ok(map)
|
700 - | })?
|
725 + | let mut container = std::collections::HashMap::new();
|
726 + | deser.read_map(member, &mut |key, deser| {
|
727 + | container.insert(key, {
|
728 + | let mut list = Vec::new();
|
729 + | deser.read_list(member, &mut |deser| {
|
730 + | list.push(deser.read_string(&::aws_smithy_schema::prelude::DOCUMENT)?);
|
731 + | Ok(())
|
732 + | })?;
|
733 + | list
|
734 + | });
|
735 + | Ok(())
|
736 + | })?;
|
737 + | container
|
701 738 | });
|
702 739 | }
|
703 740 | Some(15) => {
|
704 741 | builder.map_of_maps = Some({
|
705 - | let container = if let Some(cap) = deser.container_size() {
|
706 - | std::collections::HashMap::with_capacity(cap)
|
707 - | } else {
|
708 - | std::collections::HashMap::new()
|
709 - | };
|
710 - | deser.read_map(member, container, |mut map, key, deser| {
|
711 - | map.insert(key, todo!("deserialize nested aggregate"));
|
712 - | Ok(map)
|
713 - | })?
|
742 + | let mut container = std::collections::HashMap::new();
|
743 + | deser.read_map(member, &mut |key, deser| {
|
744 + | container.insert(key, {
|
745 + | let mut map = ::std::collections::HashMap::new();
|
746 + | deser.read_map(member, &mut |key, deser| {
|
747 + | let value = deser.read_string(&::aws_smithy_schema::prelude::DOCUMENT)?;
|
748 + | map.insert(key, value);
|
749 + | Ok(())
|
750 + | })?;
|
751 + | map
|
752 + | });
|
753 + | Ok(())
|
754 + | })?;
|
755 + | container
|
714 756 | });
|
715 757 | }
|
716 758 | Some(16) => {
|
717 - | builder.map_of_strings = Some({
|
718 - | let container = if let Some(cap) = deser.container_size() {
|
719 - | std::collections::HashMap::with_capacity(cap)
|
720 - | } else {
|
721 - | std::collections::HashMap::new()
|
722 - | };
|
723 - | deser.read_map(member, container, |mut map, key, deser| {
|
724 - | map.insert(key, deser.read_string(member)?);
|
725 - | Ok(map)
|
726 - | })?
|
727 - | });
|
759 + | builder.map_of_strings = Some(deser.read_string_string_map(member)?);
|
728 760 | }
|
729 761 | Some(17) => {
|
730 762 | builder.map_of_structs = Some({
|
731 - | let container = if let Some(cap) = deser.container_size() {
|
732 - | std::collections::HashMap::with_capacity(cap)
|
733 - | } else {
|
734 - | std::collections::HashMap::new()
|
735 - | };
|
736 - | deser.read_map(member, container, |mut map, key, deser| {
|
737 - | map.insert(key, crate::types::SimpleStruct::deserialize(deser)?);
|
738 - | Ok(map)
|
739 - | })?
|
763 + | let mut container = std::collections::HashMap::new();
|
764 + | deser.read_map(member, &mut |key, deser| {
|
765 + | container.insert(key, crate::types::SimpleStruct::deserialize(deser)?);
|
766 + | Ok(())
|
767 + | })?;
|
768 + | container
|
740 769 | });
|
741 770 | }
|
742 771 | Some(18) => {
|
743 772 | builder.recursive_list = Some({
|
744 - | let container = if let Some(cap) = deser.container_size() {
|
745 - | Vec::with_capacity(cap)
|
746 - | } else {
|
747 - | Vec::new()
|
748 - | };
|
749 - | deser.read_list(member, container, |mut list, deser| {
|
750 - | list.push(crate::types::KitchenSink::deserialize(deser)?);
|
751 - | Ok(list)
|
752 - | })?
|
773 + | let mut container = Vec::new();
|
774 + | deser.read_list(member, &mut |deser| {
|
775 + | container.push(crate::types::KitchenSink::deserialize(deser)?);
|
776 + | Ok(())
|
777 + | })?;
|
778 + | container
|
753 779 | });
|
754 780 | }
|
755 781 | Some(19) => {
|
756 782 | builder.recursive_map = Some({
|
757 - | let container = if let Some(cap) = deser.container_size() {
|
758 - | std::collections::HashMap::with_capacity(cap)
|
759 - | } else {
|
760 - | std::collections::HashMap::new()
|
761 - | };
|
762 - | deser.read_map(member, container, |mut map, key, deser| {
|
763 - | map.insert(key, crate::types::KitchenSink::deserialize(deser)?);
|
764 - | Ok(map)
|
765 - | })?
|
783 + | let mut container = std::collections::HashMap::new();
|
784 + | deser.read_map(member, &mut |key, deser| {
|
785 + | container.insert(key, crate::types::KitchenSink::deserialize(deser)?);
|
786 + | Ok(())
|
787 + | })?;
|
788 + | container
|
766 789 | });
|
767 790 | }
|
768 791 | Some(20) => {
|
769 792 | builder.recursive_struct = Some(Box::new(crate::types::KitchenSink::deserialize(deser)?));
|
770 793 | }
|
771 794 | Some(21) => {
|
772 795 | builder.simple_struct = Some(crate::types::SimpleStruct::deserialize(deser)?);
|
773 796 | }
|
774 797 | Some(22) => {
|
775 798 | builder.string = Some(deser.read_string(member)?);
|
776 799 | }
|
777 800 | Some(23) => {
|
778 801 | builder.struct_with_json_name = Some(crate::types::StructWithJsonName::deserialize(deser)?);
|
779 802 | }
|
780 803 | Some(24) => {
|
781 804 | builder.timestamp = Some(deser.read_timestamp(member)?);
|
782 805 | }
|
783 806 | Some(25) => {
|
784 807 | builder.unix_timestamp = Some(deser.read_timestamp(member)?);
|
785 808 | }
|
786 809 | _ => {}
|
787 810 | }
|
788 811 | Ok(())
|
789 812 | })?;
|
790 813 | Ok(builder.build())
|
791 814 | }
|
792 815 | }
|
816 + | impl KitchenSink {
|
817 + | /// Deserializes this structure from a body deserializer and HTTP response.
|
818 + | pub fn deserialize_with_response(
|
819 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
820 + | _headers: &::aws_smithy_runtime_api::http::Headers,
|
821 + | _status: u16,
|
822 + | _body: &[u8],
|
823 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
824 + | Self::deserialize(deserializer)
|
825 + | }
|
826 + | }
|
793 827 | impl KitchenSink {
|
794 828 | /// Creates a new builder-style object to manufacture [`KitchenSink`](crate::types::KitchenSink).
|
795 829 | pub fn builder() -> crate::types::builders::KitchenSinkBuilder {
|
796 830 | crate::types::builders::KitchenSinkBuilder::default()
|
797 831 | }
|
798 832 | }
|
799 833 |
|
800 834 | /// A builder for [`KitchenSink`](crate::types::KitchenSink).
|
801 835 | #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
|
802 836 | #[non_exhaustive]
|