Skip to content

Commit 2963bbc

Browse files
committed
Improve experimental API
1 parent dd4db75 commit 2963bbc

File tree

3 files changed

+8
-10
lines changed

3 files changed

+8
-10
lines changed

sketch_lustre_experimental/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ import sketch/lustre/experimental as sketch_lustre
1818
1919
pub fn main() {
2020
// Initialise the cache. Two strategies can be used. Ephemeral caches are designed as throw-away caches.
21-
let assert Ok(stylesheet) = sketch.stylesheet(strategy: sketch.Ephemeral)
21+
let assert Ok(_) = sketch.stylesheet(strategy: sketch.Ephemeral)
2222
// Generate the partial view function, compatible with Lustre's runtime.
23-
lustre.simple(init, update, view(_, stylesheet))
23+
lustre.simple(init, update, view)
2424
// And voilà!
2525
|> lustre.start("#app", Nil)
2626
}
2727
28-
fn view(model, stylesheet) {
28+
fn view(model) {
2929
// Add the sketch CSS generation "view middleware".
30-
use <- sketch_lustre.render(stylesheet, [sketch_lustre.node()])
30+
use <- sketch_lustre.render(in: [sketch_lustre.node()])
3131
// Run your actual view function.
3232
my_view(model)
3333
}

sketch_lustre_experimental/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
"clean": "gleam clean"
66
},
77
"devDependencies": {
8-
"@chouqueth/gleam": "^1.6.3"
8+
"@chouqueth/gleam": "^1.8.1"
99
}
1010
}

sketch_lustre_experimental/src/sketch/lustre/experimental.gleam

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ pub fn setup(stylesheet: sketch.StyleSheet) -> Result(sketch.StyleSheet, Nil) {
6161
/// }
6262
/// ```
6363
pub fn render(
64-
stylesheet stylesheet: sketch.StyleSheet,
6564
in outputs: List(Container),
6665
after view: fn() -> el.Element(msg),
6766
) -> el.Element(msg) {
6867
let new_view = view()
68+
let assert Ok(stylesheet) = global.get_stylesheet()
6969
let content = sketch.render(stylesheet)
7070
use view, stylesheet <- list.fold(outputs, new_view)
7171
case stylesheet {
@@ -117,11 +117,9 @@ pub fn render(
117117
/// html.div([], [])
118118
/// }
119119
/// ```
120-
pub fn ssr(
121-
stylesheet: sketch.StyleSheet,
122-
view: fn() -> el.Element(a),
123-
) -> el.Element(a) {
120+
pub fn ssr(view: fn() -> el.Element(a)) -> el.Element(a) {
124121
let new_view = view()
122+
let assert Ok(stylesheet) = global.get_stylesheet()
125123
let content = sketch.render(stylesheet)
126124
case contains_head(new_view) {
127125
True -> put_in_head(new_view, content)

0 commit comments

Comments
 (0)