Diffstat (limited to 'src/transform.rs')
-rw-r--r--src/transform.rs29
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.