Skip to content

Commit ac80c57

Browse files
authored
Merge pull request #4 from inoas/new-fix-sqlight-decoder
fix: sqlight decoder rebased on main
2 parents d3d4cd6 + 15a3c99 commit ac80c57

File tree

5 files changed

+31
-23
lines changed

5 files changed

+31
-23
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
44
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

66
<!-- ## [Unreleased] -->
7+
## [1.1.0] - 2025-01-11
8+
9+
- Fixed compatibility with `gleam_stdlib >= 0.50` and `sqlight >= 1.0.0`.
10+
711
## [1.0.3] - 2025-01-11
812

913
- Dev release: Added basic unit tests and CI pipeline.

gleam.toml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
name = "cake_sqlight"
2-
version = "1.0.3"
2+
version = "1.1.0"
33
description = "🎂Cake 🪶SQLite adapter which passes PreparedStatements to the sqlight library for execution written in Gleam."
44
licences = ["MPL-2.0"]
55
repository = { type = "github", user = "inoas", repo = "gleam-cake-sqlight" }
66
# links = [{ title = "Website", href = "https://gleam.run" }]
77

8-
gleam = ">= 1.4.0 and < 2.0.0"
9-
dev-dependencies = { gleeunit = ">= 1.2.0 and < 2.0.0", pprint = ">= 1.0.4 and < 2.0.0", birdie = ">= 1.2.3 and < 2.0.0" }
8+
gleam = ">= 1.6.0"
109

1110
[documentation]
1211
pages = [
@@ -15,5 +14,10 @@ pages = [
1514

1615
[dependencies]
1716
cake = ">= 2.0.0 and < 3.0.0"
18-
gleam_stdlib = ">= 0.40.0 and < 2.0.0"
19-
sqlight = ">= 0.9.1 and < 2.0.0"
17+
gleam_stdlib = ">= 0.50.0 and <= 2.0.0"
18+
sqlight = ">= 1.0.0 and < 2.0.0"
19+
20+
[dev-dependencies]
21+
pprint = ">= 1.0.4 and < 2.0.0"
22+
gleeunit = ">= 1.2.0 and < 2.0.0"
23+
birdie = ">= 1.2.3 and < 2.0.0"

manifest.toml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,33 @@
33

44
packages = [
55
{ name = "argv", version = "1.0.2", build_tools = ["gleam"], requirements = [], otp_app = "argv", source = "hex", outer_checksum = "BA1FF0929525DEBA1CE67256E5ADF77A7CDDFE729E3E3F57A5BDCAA031DED09D" },
6-
{ name = "birdie", version = "1.2.3", build_tools = ["gleam"], requirements = ["argv", "edit_distance", "filepath", "glance", "gleam_community_ansi", "gleam_erlang", "gleam_stdlib", "justin", "rank", "simplifile", "trie_again"], otp_app = "birdie", source = "hex", outer_checksum = "AE1207210E9CC8F4170BCE3FB3C23932F314C352C3FD1BCEA44CF4BF8CF60F93" },
7-
{ name = "cake", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "cake", source = "hex", outer_checksum = "0F9D47447C0BDABE21522CC9792DA42AEBC1EC43E53919F6173FD843DA88A1B8" },
6+
{ name = "birdie", version = "1.2.5", build_tools = ["gleam"], requirements = ["argv", "edit_distance", "filepath", "glance", "gleam_community_ansi", "gleam_erlang", "gleam_stdlib", "justin", "rank", "simplifile", "trie_again"], otp_app = "birdie", source = "hex", outer_checksum = "2531AD6AC71C89DFB7ECC8839C3DAB858963ECA425E9308302D3B93B8AE0FEAD" },
7+
{ name = "cake", version = "2.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "cake", source = "hex", outer_checksum = "141FEBE63A3BBD2872232BBB61B83E75F9367A4C07DD825286D58AF8D86D7702" },
88
{ name = "edit_distance", version = "2.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "edit_distance", source = "hex", outer_checksum = "A1E485C69A70210223E46E63985FA1008B8B2DDA9848B7897469171B29020C05" },
9-
{ name = "esqlite", version = "0.8.8", build_tools = ["rebar3"], requirements = [], otp_app = "esqlite", source = "hex", outer_checksum = "374902457C7D94DC9409C98D3BDD1CA0D50A60DC9F3BDF1FD8EB74C0DCDF02D6" },
10-
{ name = "filepath", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "filepath", source = "hex", outer_checksum = "EFB6FF65C98B2A16378ABC3EE2B14124168C0CE5201553DE652E2644DCFDB594" },
9+
{ name = "esqlite", version = "0.8.9", build_tools = ["rebar3"], requirements = [], otp_app = "esqlite", source = "hex", outer_checksum = "465AE9AE28AE4192EA54C829FDC90C320447D439A9B2E10946621672FC6A6F8C" },
10+
{ name = "filepath", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "filepath", source = "hex", outer_checksum = "67A6D15FB39EEB69DD31F8C145BB5A421790581BD6AA14B33D64D5A55DBD6587" },
1111
{ name = "glam", version = "2.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "glam", source = "hex", outer_checksum = "66EC3BCD632E51EED029678F8DF419659C1E57B1A93D874C5131FE220DFAD2B2" },
12-
{ name = "glance", version = "0.11.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "glexer"], otp_app = "glance", source = "hex", outer_checksum = "8F3314D27773B7C3B9FB58D8C02C634290422CE531988C0394FA0DF8676B964D" },
12+
{ name = "glance", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "glexer"], otp_app = "glance", source = "hex", outer_checksum = "784CE3B5658CF589B2E811031992FDADDFA9C7FD2A51F1140EE019F121D6D0EB" },
1313
{ name = "gleam_community_ansi", version = "1.4.2", build_tools = ["gleam"], requirements = ["gleam_community_colour", "gleam_regexp", "gleam_stdlib"], otp_app = "gleam_community_ansi", source = "hex", outer_checksum = "479DEDC748D08B310C9FEB9C4CBEC46B95C874F7F4F2844304D6D20CA78A8BB5" },
1414
{ name = "gleam_community_colour", version = "1.4.1", build_tools = ["gleam"], requirements = ["gleam_json", "gleam_stdlib"], otp_app = "gleam_community_colour", source = "hex", outer_checksum = "386CB9B01B33371538672EEA8A6375A0A0ADEF41F17C86DDCB81C92AD00DA610" },
1515
{ name = "gleam_erlang", version = "0.33.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_erlang", source = "hex", outer_checksum = "A1D26B80F01901B59AABEE3475DD4C18D27D58FA5C897D922FCB9B099749C064" },
16-
{ name = "gleam_json", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "CB10B0E7BF44282FB25162F1A24C1A025F6B93E777CCF238C4017E4EEF2CDE97" },
16+
{ name = "gleam_json", version = "2.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "C55C5C2B318533A8072D221C5E06E5A75711C129E420DD1CE463342106012E5D" },
1717
{ name = "gleam_regexp", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_regexp", source = "hex", outer_checksum = "A3655FDD288571E90EE9C4009B719FEF59FA16AFCDF3952A76A125AF23CF1592" },
18-
{ name = "gleam_stdlib", version = "0.40.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "86606B75A600BBD05E539EB59FABC6E307EEEA7B1E5865AFB6D980A93BCB2181" },
18+
{ name = "gleam_stdlib", version = "0.52.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "50703862DF26453B277688FFCDBE9DD4AC45B3BD9742C0B370DB62BC1629A07D" },
1919
{ name = "gleeunit", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "F7A7228925D3EE7D0813C922E062BFD6D7E9310F0BEE585D3A42F3307E3CFD13" },
20-
{ name = "glexer", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "glexer", source = "hex", outer_checksum = "BD477AD657C2B637FEF75F2405FAEFFA533F277A74EF1A5E17B55B1178C228FB" },
20+
{ name = "glexer", version = "2.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "glexer", source = "hex", outer_checksum = "F74FB4F78C3C1E158DF15A7226F33A662672F58EEF1DFE6593B7FCDA38B0A0EB" },
2121
{ name = "justin", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "justin", source = "hex", outer_checksum = "7FA0C6DB78640C6DC5FBFD59BF3456009F3F8B485BF6825E97E1EB44E9A1E2CD" },
2222
{ name = "pprint", version = "1.0.4", build_tools = ["gleam"], requirements = ["glam", "gleam_stdlib"], otp_app = "pprint", source = "hex", outer_checksum = "C310A98BDC0995644847C3C8702DE19656D6BCD638B2A8A358B97824379ECAA1" },
2323
{ name = "rank", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "rank", source = "hex", outer_checksum = "5660E361F0E49CBB714CC57CC4C89C63415D8986F05B2DA0C719D5642FAD91C9" },
2424
{ name = "simplifile", version = "2.2.0", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "0DFABEF7DC7A9E2FF4BB27B108034E60C81BEBFCB7AB816B9E7E18ED4503ACD8" },
25-
{ name = "sqlight", version = "0.9.1", build_tools = ["gleam"], requirements = ["esqlite", "gleam_stdlib"], otp_app = "sqlight", source = "hex", outer_checksum = "A495F2892627B2268CCBCC5107EDC1E1AD9547D5F4F21A5DB04CEA72B8931B00" },
25+
{ name = "sqlight", version = "1.0.0", build_tools = ["gleam"], requirements = ["esqlite", "gleam_stdlib"], otp_app = "sqlight", source = "hex", outer_checksum = "18A860646F29DDDDE819A9561696E6A4CA9825770EE7A9CA039E58EF5C312EC0" },
2626
{ name = "trie_again", version = "1.1.2", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "trie_again", source = "hex", outer_checksum = "5B19176F52B1BD98831B57FDC97BD1F88C8A403D6D8C63471407E78598E27184" },
2727
]
2828

2929
[requirements]
3030
birdie = { version = ">= 1.2.3 and < 2.0.0" }
3131
cake = { version = ">= 2.0.0 and < 3.0.0" }
32-
gleam_stdlib = { version = ">= 0.40.0 and < 2.0.0" }
32+
gleam_stdlib = { version = ">= 0.50.0 and <= 2.0.0" }
3333
gleeunit = { version = ">= 1.2.0 and < 2.0.0" }
3434
pprint = { version = ">= 1.0.4 and < 2.0.0" }
35-
sqlight = { version = ">= 0.9.1 and < 2.0.0" }
35+
sqlight = { version = ">= 1.0.0 and < 2.0.0" }

src/cake/adapter/sqlite.gleam

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import cake/dialect/sqlite_dialect
1010
import cake/param.{
1111
type Param, BoolParam, FloatParam, IntParam, NullParam, StringParam,
1212
}
13-
import gleam/dynamic.{type DecodeError, type Dynamic}
13+
import gleam/dynamic/decode.{type Decoder}
1414
import gleam/list
1515
import sqlight.{type Connection, type Error, type Value}
1616

@@ -53,7 +53,7 @@ pub fn write_query_to_prepared_statement(
5353
///
5454
pub fn run_read_query(
5555
query query: ReadQuery,
56-
decoder decoder: fn(Dynamic) -> Result(a, List(DecodeError)),
56+
decoder decoder: Decoder(a),
5757
db_connection db_connection: Connection,
5858
) -> Result(List(a), Error) {
5959
let prepared_statement = query |> read_query_to_prepared_statement
@@ -71,7 +71,7 @@ pub fn run_read_query(
7171
///
7272
pub fn run_write_query(
7373
query query: WriteQuery(a),
74-
decoder decoder: fn(Dynamic) -> Result(a, List(DecodeError)),
74+
decoder decoder: Decoder(a),
7575
db_connection db_connection: Connection,
7676
) -> Result(List(a), Error) {
7777
let prepared_statement = query |> write_query_to_prepared_statement
@@ -91,7 +91,7 @@ pub fn run_write_query(
9191
///
9292
pub fn run_query(
9393
query query: CakeQuery(a),
94-
decoder decoder: fn(Dynamic) -> Result(a, List(DecodeError)),
94+
decoder decoder: Decoder(a),
9595
db_connection db_connection: Connection,
9696
) -> Result(List(a), Error) {
9797
case query {

test/test_helper/sqlite_test_helper.gleam

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import cake/adapter/sqlite
2-
import gleam/dynamic
2+
import gleam/dynamic/decode
33
import test_support/test_data
44

55
pub fn setup_and_run(query) {
@@ -18,7 +18,7 @@ pub fn setup_and_run(query) {
1818
let _ = test_data.create_dogs_table() |> sqlite.execute_raw_sql(conn)
1919
let _ = test_data.insert_dogs_rows() |> sqlite.execute_raw_sql(conn)
2020

21-
query |> sqlite.run_read_query(dynamic.dynamic, conn)
21+
query |> sqlite.run_read_query(decode.dynamic, conn)
2222
}
2323

2424
pub fn setup_and_run_write(query) {
@@ -42,5 +42,5 @@ pub fn setup_and_run_write(query) {
4242
let _ = test_data.create_counters_table() |> sqlite.execute_raw_sql(conn)
4343
let _ = test_data.insert_counters_rows() |> sqlite.execute_raw_sql(conn)
4444

45-
query |> sqlite.run_write_query(dynamic.dynamic, conn)
45+
query |> sqlite.run_write_query(decode.dynamic, conn)
4646
}

0 commit comments

Comments
 (0)