on master help sign in
Port examples to new `Node` representation
commit549f7a4003f775d0a3c43ee4a9f586479c9620bc authorNick Fitzgerald <fitzgen@gmail.com> dateThu 17 Jan 2019, 14:22 (8 years ago) parentbba1bd2
3 files changed+24−30
examples/counter/crate/src/lib.rs+13−15 examples/hello-world/crate/src/lib.rs+5−9 examples/input-form/crate/src/lib.rs+6−6
examples/counter/crate/src/lib.rs+13−15
@@ -22,40 +22,38 @@ impl Counter {
2222}
2323
2424impl Render for Counter {
25− fn render<'a, 'bump>(&'a self, bump: &'bump Bump) -> dodrio::node::NodeRef<'bump>
25+ fn render<'a, 'bump>(&'a self, bump: &'bump Bump) -> dodrio::node::Node<'bump>
2626 where
2727 'a: 'bump,
2828 {
2929 let val = bumpalo::format!(in bump, "{}", self.val);
3030
31− let increment = bump.alloc(Node::element(
31+ let increment = Node::element(
32+ bump,
3233 "button",
3334 [Attribute {
3435 name: "data-action",
3536 value: "increment",
3637 }],
37− [bump.alloc(Node::text("+")).into()],
38− ));
38+ [Node::text("+")],
39+ );
3940
40− let decrement = bump.alloc(Node::element(
41+ let decrement = Node::element(
42+ bump,
4143 "button",
4244 [Attribute {
4345 name: "data-action",
4446 value: "decrement",
4547 }],
46− [bump.alloc(Node::text("-")).into()],
47− ));
48+ [Node::text("-")],
49+ );
4850
49− bump.alloc(Node::element(
51+ Node::element(
52+ bump,
5053 "div",
5154 [],
52− [
53− increment.into(),
54− bump.alloc(Node::text(val.into_bump_str())).into(),
55− decrement.into(),
56− ],
57− ))
58− .into()
55+ [increment, Node::text(val.into_bump_str()), decrement],
56+ )
5957 }
6058}
6159
examples/hello-world/crate/src/lib.rs+5−9
@@ -11,20 +11,16 @@ impl<'who> HelloWorld<'who> {
1111}
1212
1313impl<'who> Render for HelloWorld<'who> {
14− fn render<'a, 'bump>(&'a self, bump: &'bump Bump) -> dodrio::node::NodeRef<'bump>
14+ fn render<'a, 'bump>(&'a self, bump: &'bump Bump) -> dodrio::node::Node<'bump>
1515 where
1616 'a: 'bump,
1717 {
18− bump.alloc(Node::element(
18+ Node::element(
19+ bump,
1920 "p",
2021 [],
21− [
22− bump.alloc(Node::text("Hello, ")).into(),
23− bump.alloc(Node::text(self.0)).into(),
24− bump.alloc(Node::text("!")).into(),
25− ],
26− ))
27− .into()
22+ [Node::text("Hello, "), Node::text(self.0), Node::text("!")],
23+ )
2824 }
2925}
3026
examples/input-form/crate/src/lib.rs+6−6
@@ -19,11 +19,12 @@ impl SayHelloTo {
1919}
2020
2121impl Render for SayHelloTo {
22− fn render<'a, 'bump>(&'a self, bump: &'bump Bump) -> dodrio::node::NodeRef<'bump>
22+ fn render<'a, 'bump>(&'a self, bump: &'bump Bump) -> dodrio::node::Node<'bump>
2323 where
2424 'a: 'bump,
2525 {
26− let input = bump.alloc(Node::element(
26+ let input = Node::element(
27+ bump,
2728 "input",
2829 [
2930 Attribute {
@@ -36,13 +37,12 @@ impl Render for SayHelloTo {
3637 },
3738 ],
3839 [],
39− ));
40+ );
4041
4142 let hello = bumpalo::format!(in bump, "Hello, {}!", self.who);
42− let hello = bump.alloc(Node::text(hello.into_bump_str()));
43+ let hello = Node::text(hello.into_bump_str());
4344
44− bump.alloc(Node::element("div", [], [input.into(), hello.into()]))
45− .into()
45+ Node::element(bump, "div", [], [input, hello])
4646 }
4747}
4848