secure-treasure-chest v2

This commit is contained in:
Alexander Heldt
2025-11-08 20:56:18 +01:00
parent 172b59c404
commit 7d1d94c31d

View File

@@ -1,7 +1,7 @@
import gleam/string import gleam/string
pub opaque type TreasureChest(a) { pub opaque type TreasureChest(a) {
TreasureChest(String, a) TreasureChest(password: String, treasure: a)
} }
pub fn create( pub fn create(
@@ -18,11 +18,8 @@ pub fn open(
chest: TreasureChest(treasure), chest: TreasureChest(treasure),
password: String, password: String,
) -> Result(treasure, String) { ) -> Result(treasure, String) {
case chest { case chest.password == password {
TreasureChest(pass, treasure) -> False -> Error("Incorrect password")
case pass == password { True -> Ok(chest.treasure)
False -> Error("Incorrect password")
True -> Ok(treasure)
}
} }
} }