Skip to content

Commit

Permalink
update gleam and dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
chouzar committed Jan 21, 2024
1 parent 7dba5ad commit f7c5f20
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 54 deletions.
12 changes: 6 additions & 6 deletions gleam.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ gleam = ">= 0.32.0"
# links = [{ title = "Website", href = "https://gleam.run" }]

[dependencies]
gleam_stdlib = "~> 0.32.1"
gleam_erlang = "~> 0.23"
gleam_otp = "~> 0.8"
gleam_stdlib = "~> 0.34"
gleam_erlang = "~> 0.24"
gleam_otp = "~> 0.9"
gleam_http = "~> 3.5"
mist = "~> 0.14.3"
wisp = "~> 0.8"
nakai = "~> 0.8.0"
mist = "~> 0.15"
wisp = "~> 0.10.0"
nakai = "~> 0.9.0"
#envoy = "~> 1.0"

[dev-dependencies]
Expand Down
38 changes: 19 additions & 19 deletions manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,29 @@
# You typically do not need to edit this file

packages = [
{ name = "exception", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "exception", source = "hex", outer_checksum = "5122A559032E971E060F0EB68FDCE5961506917D64612B4F7DD958B699BE4425" },
{ name = "gleam_crypto", version = "0.5.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_crypto", source = "hex", outer_checksum = "8DACF0294E82A49ACD755E68EA3C118FD9F71DEF741E049E49E79993A257B698" },
{ name = "gleam_erlang", version = "0.23.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_erlang", source = "hex", outer_checksum = "C21CFB816C114784E669FFF4BBF433535EEA9960FA2F216209B8691E87156B96" },
{ name = "gleam_http", version = "3.5.2", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_http", source = "hex", outer_checksum = "AECDA43AFD523D07A8F09068598A6E271C505278A0CB6F9C7A2E4365EAE8D11E" },
{ name = "gleam_json", version = "0.7.0", build_tools = ["gleam"], requirements = ["thoas", "gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "CB405BD93A8828BCD870463DE29375E7B2D252D9D124C109E5B618AAC00B86FC" },
{ name = "gleam_otp", version = "0.8.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "gleam_erlang"], otp_app = "gleam_otp", source = "hex", outer_checksum = "18EF8242A5E54BA92F717C7222F03B3228AEE00D1F286D4C56C3E8C18AA2588E" },
{ name = "gleam_stdlib", version = "0.32.1", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "ABF00CDCCB66FABBCE351A50060964C4ACE798F95A0D78622C8A7DC838792577" },
{ name = "gleeunit", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "D3682ED8C5F9CAE1C928F2506DE91625588CC752495988CBE0F5653A42A6F334" },
{ name = "glisten", version = "0.9.2", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_stdlib", "gleam_otp"], otp_app = "glisten", source = "hex", outer_checksum = "C960B6CF25D4AABAB01211146E9B57E11827B9C49E4175217E0FB7EF5BCB0FF7" },
{ name = "exception", version = "1.1.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "exception", source = "hex", outer_checksum = "984401CFC95BCA87C391E36194D2B9E5B946467D44893FADB1CA4ACD4B7A29CE" },
{ name = "gleam_crypto", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_crypto", source = "hex", outer_checksum = "DE1FC4E631CA374AB29CCAEAC043EE171B86114D7DC66DD483F0A93BF0C4C6FF" },
{ name = "gleam_erlang", version = "0.24.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_erlang", source = "hex", outer_checksum = "26BDB52E61889F56A291CB34167315780EE4AA20961917314446542C90D1C1A0" },
{ name = "gleam_http", version = "3.5.3", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_http", source = "hex", outer_checksum = "C2FC3322203B16F897C1818D9810F5DEFCE347F0751F3B44421E1261277A7373" },
{ name = "gleam_json", version = "1.0.0", build_tools = ["gleam"], requirements = ["thoas", "gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "8B197DD5D578EA6AC2C0D4BDC634C71A5BCA8E7DB5F47091C263ECB411A60DF3" },
{ name = "gleam_otp", version = "0.9.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "gleam_erlang"], otp_app = "gleam_otp", source = "hex", outer_checksum = "5FADBBEC5ECF3F8B6BE91101D432758503192AE2ADBAD5602158977341489F71" },
{ name = "gleam_stdlib", version = "0.34.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "1FB8454D2991E9B4C0C804544D8A9AD0F6184725E20D63C3155F0AEB4230B016" },
{ name = "gleeunit", version = "1.0.2", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "D364C87AFEB26BDB4FB8A5ABDE67D635DC9FA52D6AB68416044C35B096C6882D" },
{ name = "glisten", version = "0.9.2", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_otp", "gleam_stdlib"], otp_app = "glisten", source = "hex", outer_checksum = "C960B6CF25D4AABAB01211146E9B57E11827B9C49E4175217E0FB7EF5BCB0FF7" },
{ name = "marceau", version = "1.1.0", build_tools = ["gleam"], requirements = [], otp_app = "marceau", source = "hex", outer_checksum = "1AAD727A30BE0F95562C3403BB9B27C823797AD90037714255EEBF617B1CDA81" },
{ name = "mist", version = "0.14.3", build_tools = ["gleam"], requirements = ["gleam_erlang", "glisten", "gleam_otp", "gleam_http", "gleam_stdlib"], otp_app = "mist", source = "hex", outer_checksum = "191F4CC2CFEE55C5DABD04D76E8C191A2ABB9E0C38C6AE504323609FE72899DD" },
{ name = "nakai", version = "0.8.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "nakai", source = "hex", outer_checksum = "E4BA604229121481776CB4DD42C6E5E7FB1A9BF303D7B1DCDFECFE5FA0B34382" },
{ name = "simplifile", version = "0.4.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "8F3C94B83F691CCFACD784A4D7C1F7E5A0437D93341549B908EE3B32E3477447" },
{ name = "mist", version = "0.15.0", build_tools = ["gleam"], requirements = ["glisten", "gleam_otp", "gleam_http", "gleam_stdlib", "gleam_erlang"], otp_app = "mist", source = "hex", outer_checksum = "49F51DDB64D7B2832F72727CC9721C478D6B524C96EA444C601A19D01E023C03" },
{ name = "nakai", version = "0.9.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "nakai", source = "hex", outer_checksum = "F6FFED9EF4B0E14C7A09B2FB87B42D3A93EFE024FD0299C11F041E92321163A6" },
{ name = "simplifile", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "359CD7006E2F69255025C858CCC6407C11A876EC179E6ED1E46809E8DC6B1AAD" },
{ name = "thoas", version = "0.4.1", build_tools = ["rebar3"], requirements = [], otp_app = "thoas", source = "hex", outer_checksum = "4918D50026C073C4AB1388437132C77A6F6F7C8AC43C60C13758CC0ADCE2134E" },
{ name = "wisp", version = "0.8.0", build_tools = ["gleam"], requirements = ["exception", "gleam_json", "mist", "gleam_http", "gleam_stdlib", "simplifile", "marceau", "gleam_crypto", "gleam_erlang"], otp_app = "wisp", source = "hex", outer_checksum = "3E70062D9D2EF66505ED759EEAE047AE2904450D6035F676C6925449FDB68D4A" },
{ name = "wisp", version = "0.10.0", build_tools = ["gleam"], requirements = ["exception", "marceau", "simplifile", "gleam_erlang", "gleam_crypto", "gleam_json", "gleam_stdlib", "mist", "gleam_http"], otp_app = "wisp", source = "hex", outer_checksum = "744FF91702078301BDF8FE76F26C14B658A7D151D867FA6995762318ED2536A0" },
]

[requirements]
gleam_erlang = { version = "~> 0.23" }
gleam_erlang = { version = "~> 0.24" }
gleam_http = { version = "~> 3.5" }
gleam_otp = { version = "~> 0.8" }
gleam_stdlib = { version = "~> 0.32.1" }
gleam_otp = { version = "~> 0.9" }
gleam_stdlib = { version = "~> 0.34" }
gleeunit = { version = "~> 1.0" }
mist = { version = "~> 0.14.3" }
nakai = { version = "~> 0.8.0" }
wisp = { version = "~> 0.8" }
mist = { version = "~> 0.15" }
nakai = { version = "~> 0.9.0" }
wisp = { version = "~> 0.10.0" }
42 changes: 21 additions & 21 deletions src/luster/game/cardfield.gleam
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import gleam/int
import gleam/list
import gleam/map.{type Map}
import gleam/dict.{type Dict}
import gleam/option.{type Option, None, Some}
import gleam/order.{type Order}
import gleam/result.{try}
Expand Down Expand Up @@ -46,7 +46,7 @@ pub type Phase {
pub opaque type Board {
Board(
deck: List(Card),
hands: Map(Player, List(Card)),
hands: Dict(Player, List(Card)),
battleline: Line(Battle),
)
}
Expand All @@ -57,7 +57,7 @@ pub type Player {
}

type Line(piece) =
Map(Slot, piece)
Dict(Slot, piece)

pub type Slot {
Slot1
Expand All @@ -83,7 +83,7 @@ pub type Suit {
}

type Battle =
Map(Player, Column)
Dict(Player, Column)

type Column =
List(Card)
Expand Down Expand Up @@ -287,13 +287,13 @@ fn new_board() -> Board {
Board(
deck: new_deck(),
battleline: new_line(
map.new()
|> map.insert(Player1, [])
|> map.insert(Player2, []),
dict.new()
|> dict.insert(Player1, [])
|> dict.insert(Player2, []),
),
hands: map.new()
|> map.insert(Player1, [])
|> map.insert(Player2, []),
hands: dict.new()
|> dict.insert(Player1, [])
|> dict.insert(Player2, []),
)
}

Expand All @@ -308,7 +308,7 @@ fn new_deck() -> List(Card) {
fn new_line(of piece: piece) -> Line(piece) {
slots
|> list.map(fn(slot) { #(slot, piece) })
|> map.from_list()
|> dict.from_list()
}

fn new_total_score() -> TotalScore {
Expand All @@ -326,7 +326,7 @@ fn draw_card(board: Board, of player: Player) -> Result(Board, Errors) {
let hand = get(board.hands, player)
use #(card, deck) <- try(draw_card_from_deck(board.deck))
use new_hand <- try(add_card_to_hand(hand, card))
let hands = map.insert(board.hands, player, new_hand)
let hands = dict.insert(board.hands, player, new_hand)
let board = Board(..board, deck: deck, hands: hands)
Ok(board)
}
Expand Down Expand Up @@ -382,7 +382,7 @@ fn formation_triplet(card_a: Card, card_b: Card, card_c: Card) -> Formation {
_bool, False, True, False -> Straight
_bool, False, False, True -> Flush
True, False, False, False -> Pair
False, False, False, False -> HighCard
_bool, _bool, _bool, _bool -> HighCard
}
}

Expand All @@ -406,11 +406,11 @@ fn play_card(
use #(card, hand) <- try(pick_card(from: hand, where: card))
use column <- try(available_play(is: column))

let hands = map.insert(board.hands, player, hand)
let hands = dict.insert(board.hands, player, hand)

let column = list.append(column, [card])
let battle = map.insert(battle, player, column)
let battleline = map.insert(board.battleline, slot, battle)
let battle = dict.insert(battle, player, column)
let battleline = dict.insert(board.battleline, slot, battle)

let board = Board(..board, hands: hands, battleline: battleline)

Expand Down Expand Up @@ -443,7 +443,7 @@ fn first(list: List(x)) -> x {
head
}

fn are_hands_full(hands: Map(Player, List(Card))) -> Bool {
fn are_hands_full(hands: Dict(Player, List(Card))) -> Bool {
let p1_hand = get(hands, Player1)
let p2_hand = get(hands, Player2)

Expand Down Expand Up @@ -472,7 +472,7 @@ fn calculate_columns(state: GameState) -> List(#(Score, Score)) {
let columns =
list.index_map(
slots,
fn(index, slot) {
fn(slot, index) {
let assert Ok(#(s1, s2)) = list.at(state.total_score.columns, index)

let battle = get(state.board.battleline, slot)
Expand Down Expand Up @@ -577,11 +577,11 @@ fn figure_player(score: Int) -> #(Option(Player), Int) {
case score {
score if score > 0 -> #(Some(Player1), score)
score if score < 0 -> #(Some(Player2), int.absolute_value(score))
0 -> #(None, 0)
_score -> #(None, 0)
}
}

fn get(map: Map(key, value), key: key) -> value {
let assert Ok(value) = map.get(map, key)
fn get(map: Dict(key, value), key: key) -> value {
let assert Ok(value) = dict.get(map, key)
value
}
16 changes: 8 additions & 8 deletions src/luster/web/pages/game.gleam
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import gleam/option.{type Option, None, Some}
import gleam/string
import gleam/pair
import gleam/list
import gleam/map.{type Map}
import gleam/dict.{type Dict}
import gleam/result.{try}
import luster/game/cardfield as cf
import gleam/int
Expand All @@ -15,7 +15,7 @@ pub type Model {
Model(
name: String,
alert: Option(Alert),
selected_card: Map(cf.Player, Option(cf.Card)),
selected_card: Dict(cf.Player, Option(cf.Card)),
gamestate: cf.GameState,
)
}
Expand All @@ -39,9 +39,9 @@ pub fn init() -> Model {
Model(
name: generate_name(),
alert: None,
selected_card: map.new()
|> map.insert(cf.Player1, None)
|> map.insert(cf.Player2, None),
selected_card: dict.new()
|> dict.insert(cf.Player1, None)
|> dict.insert(cf.Player2, None),
gamestate: cf.new(),
)
}
Expand All @@ -53,7 +53,7 @@ pub fn update(model: Model, message: Message) -> Model {
cf.Play -> {
let alert = Some(Info("Play card on a column"))
let selected_card =
map.insert(model.selected_card, player, Some(card))
dict.insert(model.selected_card, player, Some(card))
Model(..model, alert: alert, selected_card: selected_card)
}

Expand Down Expand Up @@ -267,7 +267,7 @@ fn view_hand(state: cf.GameState, player: cf.Player) -> html.Node(a) {

fn view_slots(model: Model, player: cf.Player) -> html.Node(a) {
let columns = cf.columns(model.gamestate, player)
let assert Ok(selected_card) = map.get(model.selected_card, player)
let assert Ok(selected_card) = dict.get(model.selected_card, player)
let player_class = encode_player(player)

html.section(
Expand Down Expand Up @@ -342,7 +342,7 @@ fn draw_deck(size: Int) -> html.Node(a) {
x if x > 08 -> 03
x if x > 04 -> 02
x if x > 00 -> 01
0 -> 0
_ -> 0
}

let card = card_back()
Expand Down

0 comments on commit f7c5f20

Please sign in to comment.