Diffstat (limited to 'src/transform.rs')
| -rw-r--r-- | src/transform.rs | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/transform.rs b/src/transform.rs index 9e5a215..91129c7 100644 --- a/src/transform.rs +++ b/src/transform.rs @@ -1,6 +1,6 @@ use crate::{ build::Builder, - effect::{Effect, Future}, + effect::{Effect, ObjSafe}, hkt::Marker, Walk, Walker, WalkerTypes, }; @@ -10,19 +10,20 @@ use crate::{ pub fn transform<'a, 'ctx, B: Builder<'ctx, E> + 'a, W: Walker<'ctx, E> + 'a, E: Effect>( seed: B::Seed, walker: W, -) -> Future<'a, (Result<B::Value, B::Error>, Result<W::Output, W::Error>), E> { - E::wrap(async { - // Create builder from seed value; - let mut builder = B::from_seed(seed).await; - - // Walk the walker with the builder as the visitor. - let walker_result = walker.walk(builder.as_visitor()).await; - - // Finish building the value. - let builder_result = builder.build().await; - - (builder_result, walker_result) - }) +) -> ObjSafe<'a, (Result<B::Value, B::Error>, Result<W::Output, W::Error>), E> { + todo!() + // E::wrap(async { + // // Create builder from seed value; + // let mut builder = B::from_seed(seed).await; + // + // // Walk the walker with the builder as the visitor. + // let walker_result = walker.walk(builder.as_visitor()).await; + // + // // Finish building the value. + // let builder_result = builder.build().await; + // + // (builder_result, walker_result) + // }) } /// For use in a lens. |