diff --git a/slhx-core/src/lib.rs b/slhx-core/src/lib.rs index a16a06f..48fddc5 100644 --- a/slhx-core/src/lib.rs +++ b/slhx-core/src/lib.rs @@ -713,7 +713,10 @@ impl Slot { self.id } - pub fn render(self, value: impl ToString) -> Effect { + pub fn render(self, value: T) -> Effect + where + T: ToString, + { self.text(value) } @@ -761,7 +764,10 @@ where self.id } - pub fn append(self, key: K, value: impl ToString) -> Effect { + pub fn append(self, key: K, value: T) -> Effect + where + T: ToString, + { Effect::Insert { target: ResourceRef::unscoped(self.id), key: key.to_string(), @@ -769,7 +775,10 @@ where } } - pub fn prepend(self, key: K, value: impl ToString) -> Effect { + pub fn prepend(self, key: K, value: T) -> Effect + where + T: ToString, + { Effect::Prepend { target: ResourceRef::unscoped(self.id), key: key.to_string(), @@ -777,7 +786,10 @@ where } } - pub fn replace(self, key: K, value: impl ToString) -> Effect { + pub fn replace(self, key: K, value: T) -> Effect + where + T: ToString, + { let key = key.to_string(); Effect::Put { target: ResourceRef { diff --git a/slhx-core/tests/effect_batch.rs b/slhx-core/tests/effect_batch.rs index 14e3765..b437b37 100644 --- a/slhx-core/tests/effect_batch.rs +++ b/slhx-core/tests/effect_batch.rs @@ -11,9 +11,9 @@ fn effect_batch_wire_round_trips() { let user = Atom::::new(3); let batch = ( - count.text(2), - todos.append(7, "Buy milk"), - todos.replace(7, "Buy oat milk"), + count.render(2), + todos.append(7, String::from("Buy milk")), + todos.replace(7, String::from("Buy oat milk")), user.set("Ada"), navigate("/todos"), event("toast", "Saved"), @@ -31,7 +31,8 @@ fn effect_batch_wire_round_trips() { #[test] fn keyed_slot_replace_uses_scoped_resource_ref() { let todos = KeyedSlot::::new(9); - let effect = todos.replace(12, "done"); + // req: codegen/002 + let effect = todos.replace(12, String::from("done")); let Effect::Put { target, payload } = effect else { panic!("expected Put"); diff --git a/slhx-test/tests/inspector.rs b/slhx-test/tests/inspector.rs index 968142c..64ffc75 100644 --- a/slhx-test/tests/inspector.rs +++ b/slhx-test/tests/inspector.rs @@ -21,7 +21,7 @@ fn inspects_tuple_effects() { #[test] fn finds_keyed_slot_targets() { let rows = KeyedSlot::::new(9); - let inspected = slhx_test::inspect(rows.append(7, "row")); + let inspected = slhx_test::inspect(rows.append(7, String::from("row"))); assert!(inspected.has_keyed_slot(rows)); assert_eq!(inspected.ops().len(), 1);