Subscriptions for Lustre!
5

Configure Feed

Select the types of activity you want to include in your feed.

v1.0.0-rc1

rebecca (May 1, 2026, 1:40 AM +0200) 763d065c 939601c4

+7 -7
+1 -1
README.md
··· 3 3 [![Package Version](https://img.shields.io/hexpm/v/off_topic)](https://hex.pm/packages/off_topic) 4 4 [![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/off_topic/) 5 5 6 - This is an experimtal (in design not implementation) [Lustre](https://lustre.build) runtime extension, 6 + This is an experimental (in design not implementation) [Lustre](https://lustre.build) runtime extension, 7 7 adding so-called subscriptions. Subscriptions are at their core effects with a 8 8 cleanup function. If you know React, Vue, or Svelte, you can think of them as 9 9 `useEffect` or `watch` calls. `off_topic` lets you define your active subscriptions
+5 -5
gleam.toml
··· 1 1 name = "off_topic" 2 - version = "1.0.0" 2 + version = "1.0.0-rc1" 3 3 target = "javascript" 4 4 5 5 # Fill out these fields if you intend to generate HTML documentation or publish 6 6 # your project to the Hex package manager. 7 7 # 8 - # description = "" 9 - # licences = ["Apache-2.0"] 10 - # repository = { type = "github", user = "", repo = "" } 11 - # links = [{ title = "Website", href = "" }] 8 + description = "Declarative subscriptions for Lustre" 9 + licences = ["BSD-2-Clause"] 10 + repository = { type = "gitlab", user = "arkandos", repo = "off_topic" } 11 + links = [{ title = "Lustre", href = "https://lustre.build" }] 12 12 # 13 13 # For a full reference of all the available options, you can have a look at 14 14 # https://gleam.run/writing-gleam/gleam-toml/.
+1 -1
src/off_topic/internal/runtime.gleam
··· 442 442 subscriptions: fn(model) -> Subscription(message), 443 443 update: fn(model, message) -> #(model, Effect(message)), 444 444 ) -> #(Model(model, message), Effect(Message(message))) { 445 - case echo message { 445 + case message { 446 446 GotAppMessage(message:) -> 447 447 to_app(model, model.state, message, subscriptions, update) 448 448