aboutsummaryrefslogtreecommitdiff
path: root/lib/src/lustre.gleam
diff options
context:
space:
mode:
authorHayleigh Thompson <me@hayleigh.dev>2023-09-19 23:40:03 +0100
committerHayleigh Thompson <me@hayleigh.dev>2023-09-19 23:40:03 +0100
commit92e8596b78982885803994b50c6b35f73f7a403e (patch)
tree13428243987317da540495215ed4d9e3938fb5cb /lib/src/lustre.gleam
parent985a9b0aa469cbe94fb95c433c97e2b321014341 (diff)
downloadlustre-92e8596b78982885803994b50c6b35f73f7a403e.tar.gz
lustre-92e8596b78982885803994b50c6b35f73f7a403e.zip
:recycle: So long monorepo.
Diffstat (limited to 'lib/src/lustre.gleam')
-rw-r--r--lib/src/lustre.gleam97
1 files changed, 0 insertions, 97 deletions
diff --git a/lib/src/lustre.gleam b/lib/src/lustre.gleam
deleted file mode 100644
index 4f8249a..0000000
--- a/lib/src/lustre.gleam
+++ /dev/null
@@ -1,97 +0,0 @@
-//// To read the full documentation for this module, please visit
-//// [https://pkg.hayleigh.dev/lustre/api/lustre](https://pkg.hayleigh.dev/lustre/api/lustre)
-
-// IMPORTS ---------------------------------------------------------------------
-
-import gleam/dynamic.{Decoder}
-import gleam/map.{Map}
-import lustre/effect.{Effect}
-import lustre/element.{Element}
-
-// TYPES -----------------------------------------------------------------------
-
-///
-pub type App(flags, model, msg)
-
-pub type Error {
- AppAlreadyStarted
- AppNotYetStarted
- BadComponentName
- ComponentAlreadyRegistered
- ElementNotFound
- NotABrowser
-}
-
-// CONSTRUCTORS ----------------------------------------------------------------
-
-@target(javascript)
-///
-pub fn element(element: Element(msg)) -> App(Nil, Nil, msg) {
- let init = fn(_) { #(Nil, effect.none()) }
- let update = fn(_, _) { #(Nil, effect.none()) }
- let view = fn(_) { element }
-
- application(init, update, view)
-}
-
-@target(javascript)
-///
-pub fn simple(
- init: fn(flags) -> model,
- update: fn(model, msg) -> model,
- view: fn(model) -> Element(msg),
-) -> App(flags, model, msg) {
- let init = fn(flags) { #(init(flags), effect.none()) }
- let update = fn(model, msg) { #(update(model, msg), effect.none()) }
-
- application(init, update, view)
-}
-
-@target(javascript)
-///
-@external(javascript, "./lustre.ffi.mjs", "setup")
-pub fn application(
- init: fn(flags) -> #(model, Effect(msg)),
- update: fn(model, msg) -> #(model, Effect(msg)),
- view: fn(model) -> Element(msg),
-) -> App(flags, model, msg)
-
-@target(javascript)
-@external(javascript, "./lustre.ffi.mjs", "setup_component")
-pub fn component(
- name: String,
- init: fn() -> #(model, Effect(msg)),
- update: fn(model, msg) -> #(model, Effect(msg)),
- view: fn(model) -> Element(msg),
- on_attribute_change: Map(String, Decoder(msg)),
-) -> Result(Nil, Error)
-
-// EFFECTS ---------------------------------------------------------------------
-
-@target(javascript)
-///
-@external(javascript, "./lustre.ffi.mjs", "start")
-pub fn start(
- app: App(flags, model, msg),
- selector: String,
- flags: flags,
-) -> Result(fn(msg) -> Nil, Error)
-
-@target(javascript)
-///
-@external(javascript, "./lustre.ffi.mjs", "destroy")
-pub fn destroy(app: App(flags, model, msg)) -> Result(Nil, Error)
-
-// UTILS -----------------------------------------------------------------------
-
-///
-@external(javascript, "./lustre.ffi.mjs", "is_browser")
-pub fn is_browser() -> Bool {
- False
-}
-
-///
-@external(javascript, "./lustre.ffi.mjs", "is_registered")
-pub fn is_registered(_name: String) -> Bool {
- False
-}