lustre_hash_state

Package Version Hex Docs

gleam add lustre_hash_state
import lustre_hash_state

pub opaque type Msg {
  // ...
  HashChange(value: String)
}

pub fn main() {
  let app = lustre.application(init, update, view)
  let assert Ok(_) = lustre.start(app, "#app", Nil)
}

fn init(_flags) -> #(Model, effect.Effect(Msg)) {
  #(Model(), lustre_hash_state.init(HashChange))
}

fn update(model: Model, msg: Msg) -> #(Model, effect.Effect(msg)) {
  case msg {
    // hash change events can update the model
    HashChange(value) -> {
      #(Model(..model, value: value), effect.none())
    }
    UserUpdatedMessage(value) -> {
      #(
        Model(..model, value: value),
        // and user events can update the hash
        lustre_hash_state.update(value),
      )
    }
    // ...
  }
}

Further documentation can be found at https://hexdocs.pm/lustre_hash_state.

Development

gleam run   # Run the project
gleam test  # Run the tests
gleam shell # Run an Erlang shell
Search Document