aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHayleigh Thompson <me@hayleigh.dev>2023-08-19 22:59:08 +0100
committerHayleigh Thompson <me@hayleigh.dev>2023-08-19 22:59:08 +0100
commit13c992d2fb8ba4d4825c452be023da8c53af9488 (patch)
tree4e3cab59d8f9b834e3642e20b818c102d54a43bd
parentfc4ab365375128421b95b2faff1b529818963785 (diff)
downloadlustre-13c992d2fb8ba4d4825c452be023da8c53af9488.tar.gz
lustre-13c992d2fb8ba4d4825c452be023da8c53af9488.zip
:sparkles: Return an error when components and applications are used outside of a browser-like environment.
-rw-r--r--lib/src/lustre.gleam10
-rw-r--r--lib/src/lustre/element/hooks.gleam0
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/src/lustre.gleam b/lib/src/lustre.gleam
index 4c9ff22..dcfe76a 100644
--- a/lib/src/lustre.gleam
+++ b/lib/src/lustre.gleam
@@ -50,8 +50,9 @@ import lustre/element.{Element}
pub type App(flags, model, msg)
pub type Error {
- ElementNotFound
ComponentAlreadyRegistered
+ ElementNotFound
+ NotABrowser
}
// CONSTRUCTORS ----------------------------------------------------------------
@@ -243,3 +244,10 @@ pub fn start(
selector: String,
flags: flags,
) -> Result(fn(msg) -> Nil, Error)
+
+// UTILS -----------------------------------------------------------------------
+
+@external(javascript, "./lustre.ffi.mjs", "is_browser")
+pub fn is_browser() -> Bool {
+ False
+}
diff --git a/lib/src/lustre/element/hooks.gleam b/lib/src/lustre/element/hooks.gleam
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lib/src/lustre/element/hooks.gleam