diff options
| author | Mike Buland <mike@xagasoft.com> | 2026-06-23 08:50:28 -0700 |
|---|---|---|
| committer | Mike Buland <mike@xagasoft.com> | 2026-06-23 08:50:28 -0700 |
| commit | 0c1429fd7e6e1432e480e59ffc5b0e86588cd26e (patch) | |
| tree | 3f321764097f248f400f96347abd42d33d054541 /src/lib.rs | |
| parent | 5eedc8e9080afe1d7fa00d9577343fe5aa25a93d (diff) | |
| download | crimtag-0c1429fd7e6e1432e480e59ffc5b0e86588cd26e.tar.gz crimtag-0c1429fd7e6e1432e480e59ffc5b0e86588cd26e.tar.bz2 crimtag-0c1429fd7e6e1432e480e59ffc5b0e86588cd26e.tar.xz crimtag-0c1429fd7e6e1432e480e59ffc5b0e86588cd26e.zip | |
Tweaked for generality.
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 21 |
1 files changed, 2 insertions, 19 deletions
| @@ -522,24 +522,6 @@ Now with explicit outputs: | |||
| 522 | } | 522 | } |
| 523 | } | 523 | } |
| 524 | 524 | ||
| 525 | impl<'a> MappedList<'a> for Vec<Item> { | ||
| 526 | fn get_index(&'a self, id: usize) -> Option<MappedValue<'a>> { | ||
| 527 | if let Some(x) = self.get(id) { | ||
| 528 | Some(MappedValue::<'a>::Struct(x)) | ||
| 529 | } else { | ||
| 530 | None | ||
| 531 | } | ||
| 532 | } | ||
| 533 | |||
| 534 | fn for_each(&'a self, func: &dyn Fn(&MappedValue<'a>, &mut String) -> CrimResult<()>) -> CrimResult<String> { | ||
| 535 | let mut buf = String::new(); | ||
| 536 | for i in self { | ||
| 537 | func( &MappedValue::Struct(i), &mut buf )?; | ||
| 538 | } | ||
| 539 | Ok(buf) | ||
| 540 | } | ||
| 541 | } | ||
| 542 | |||
| 543 | #[test] | 525 | #[test] |
| 544 | fn custom() -> Result<(), CrimError> { | 526 | fn custom() -> Result<(), CrimError> { |
| 545 | let page = Page::new(); | 527 | let page = Page::new(); |
| @@ -552,9 +534,10 @@ Now with explicit outputs: | |||
| 552 | l.for_each(&|x: &MappedValue, buf: &mut String| { | 534 | l.for_each(&|x: &MappedValue, buf: &mut String| { |
| 553 | if let MappedValue::Struct(s) = x { | 535 | if let MappedValue::Struct(s) = x { |
| 554 | println!(" - {:?}", s.get_value(&"title")); | 536 | println!(" - {:?}", s.get_value(&"title")); |
| 537 | buf.push_str(&format!("{:?}",s.get_value(&"title"))); | ||
| 555 | } | 538 | } |
| 556 | Ok(()) | 539 | Ok(()) |
| 557 | }); | 540 | }).expect("loop"); |
| 558 | } | 541 | } |
| 559 | Ok(()) | 542 | Ok(()) |
| 560 | } | 543 | } |
