diff options
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 14 |
1 files changed, 14 insertions, 0 deletions
| @@ -521,6 +521,12 @@ Now with explicit outputs: | |||
| 521 | None | 521 | None |
| 522 | } | 522 | } |
| 523 | } | 523 | } |
| 524 | |||
| 525 | fn for_each(&'a self, func: &dyn Fn(&MappedValue<'a>)) { | ||
| 526 | for i in self { | ||
| 527 | func( &MappedValue::Struct(i) ); | ||
| 528 | } | ||
| 529 | } | ||
| 524 | } | 530 | } |
| 525 | 531 | ||
| 526 | #[test] | 532 | #[test] |
| @@ -530,6 +536,14 @@ Now with explicit outputs: | |||
| 530 | println!("{:?}", | 536 | println!("{:?}", |
| 531 | page.get_value(&"total_pages") | 537 | page.get_value(&"total_pages") |
| 532 | ); | 538 | ); |
| 539 | |||
| 540 | if let Some(MappedValue::List(l)) = page.get_value(&"items") { | ||
| 541 | l.for_each(&|x: &MappedValue| { | ||
| 542 | if let MappedValue::Struct(s) = x { | ||
| 543 | println!(" - {:?}", s.get_value(&"title")); | ||
| 544 | } | ||
| 545 | }); | ||
| 546 | } | ||
| 533 | Ok(()) | 547 | Ok(()) |
| 534 | } | 548 | } |
| 535 | } | 549 | } |
