Skip to content

Commit d4f6d10

Browse files
committed
chore: use pre-commit-gleam for gleam hooks
1 parent 6e069d2 commit d4f6d10

9 files changed

Lines changed: 40 additions & 103 deletions

.pre-commit-config.yaml

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,8 @@ repos:
1212
exclude: ^birdie_snapshots/.*\.accepted$
1313
- id: trailing-whitespace
1414
exclude: ^birdie_snapshots/.*\.accepted$
15-
- repo: local
15+
- repo: https://github.com/jtdowney/pre-commit-gleam
16+
rev: v1.0.0
1617
hooks:
17-
- id: gleam-check
18-
name: gleam check
19-
entry: gleam check
20-
language: system
21-
files: ^src/.*\.gleam$
22-
pass_filenames: false
23-
- id: gleam-format
24-
name: gleam format --check
25-
entry: gleam format --check src test
26-
language: system
27-
files: ^src/.*\.gleam$
28-
pass_filenames: false
18+
- id: format
19+
- id: check

dev/cose/encrypt_examples.gleam

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ fn direct_encryption() {
4141

4242
// Decrypt
4343
let assert Ok(parsed) = encrypt.parse(data)
44-
let assert Ok(dec) =
45-
encrypt.decryptor(gose.Direct, content_alg, keys: [k])
44+
let assert Ok(dec) = encrypt.decryptor(gose.Direct, content_alg, keys: [k])
4645
let assert Ok(pt) = encrypt.decrypt(dec, parsed)
4746
let assert Ok(text) = bit_array.to_string(pt)
4847
io.println("Decrypted: " <> text)
@@ -116,8 +115,7 @@ fn multi_recipient() {
116115

117116
// Encrypt
118117
let assert Ok(message) = encrypt.new(content_alg)
119-
let assert Ok(aes_r) =
120-
encrypt.new_aes_kw_recipient(gose.Aes128, key: aes_key)
118+
let assert Ok(aes_r) = encrypt.new_aes_kw_recipient(gose.Aes128, key: aes_key)
121119
let assert Ok(ec_r) =
122120
encrypt.new_ecdh_es_aes_kw_recipient(gose.Aes128, key: ec_key)
123121
let message =

dev/jose/jwe_examples.gleam

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -221,13 +221,9 @@ fn ecdh_es_direct() {
221221
// Decrypt
222222
let assert Ok(parsed) = jwe.parse_compact(token)
223223
let assert Ok(decryptor) =
224-
jwe.key_decryptor(
225-
gose.EcdhEs(gose.EcdhEsDirect),
226-
gose.AesGcm(gose.Aes256),
227-
[
228-
key,
229-
],
230-
)
224+
jwe.key_decryptor(gose.EcdhEs(gose.EcdhEsDirect), gose.AesGcm(gose.Aes256), [
225+
key,
226+
])
231227
let assert Ok(decrypted) = jwe.decrypt(decryptor, parsed)
232228
let assert Ok(message) = bit_array.to_string(decrypted)
233229
io.println("Decrypted: " <> message)
@@ -242,10 +238,7 @@ fn ecdh_es_with_key_wrap() {
242238

243239
// Encrypt
244240
let assert Ok(token) =
245-
jwe.new_ecdh_es(
246-
gose.EcdhEsAesKw(gose.Aes256),
247-
gose.AesGcm(gose.Aes256),
248-
)
241+
jwe.new_ecdh_es(gose.EcdhEsAesKw(gose.Aes256), gose.AesGcm(gose.Aes256))
249242
|> jwe.with_apu(<<"Alice":utf8>>)
250243
|> jwe.with_apv(<<"Bob":utf8>>)
251244
|> jwe.encrypt(key, plaintext)
@@ -276,10 +269,7 @@ fn password_based_encryption() {
276269

277270
// Encrypt
278271
let assert Ok(token) =
279-
jwe.new_pbes2(
280-
gose.Pbes2Sha256Aes128Kw,
281-
gose.AesGcm(gose.Aes128),
282-
)
272+
jwe.new_pbes2(gose.Pbes2Sha256Aes128Kw, gose.AesGcm(gose.Aes128))
283273
|> jwe.with_p2c(1000)
284274
|> result.try(jwe.encrypt_with_password(_, password, plaintext))
285275
|> result.try(jwe.serialize_compact)

dev/jose/jwe_multi_examples.gleam

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,21 +53,17 @@ fn two_aes_kw_recipients() {
5353
let assert Ok(parsed) = jwe_multi.parse_json(json_str)
5454

5555
let assert Ok(dec) =
56-
jwe_multi.decryptor(
57-
gose.AesKeyWrap(gose.AesKw, gose.Aes256),
58-
enc,
59-
keys: [k1],
60-
)
56+
jwe_multi.decryptor(gose.AesKeyWrap(gose.AesKw, gose.Aes256), enc, keys: [
57+
k1,
58+
])
6159
let assert Ok(pt) = jwe_multi.decrypt(dec, parsed)
6260
let assert Ok(text) = bit_array.to_string(pt)
6361
io.println("Recipient 1 decrypted: " <> text)
6462

6563
let assert Ok(dec) =
66-
jwe_multi.decryptor(
67-
gose.AesKeyWrap(gose.AesKw, gose.Aes128),
68-
enc,
69-
keys: [k2],
70-
)
64+
jwe_multi.decryptor(gose.AesKeyWrap(gose.AesKw, gose.Aes128), enc, keys: [
65+
k2,
66+
])
7167
let assert Ok(pt) = jwe_multi.decrypt(dec, parsed)
7268
let assert Ok(text) = bit_array.to_string(pt)
7369
io.println("Recipient 2 decrypted: " <> text)
@@ -129,11 +125,9 @@ fn mixed_recipients() {
129125
let assert Ok(parsed) = jwe_multi.parse_json(json_str)
130126

131127
let assert Ok(dec) =
132-
jwe_multi.decryptor(
133-
gose.AesKeyWrap(gose.AesKw, gose.Aes256),
134-
enc,
135-
keys: [aes_key],
136-
)
128+
jwe_multi.decryptor(gose.AesKeyWrap(gose.AesKw, gose.Aes256), enc, keys: [
129+
aes_key,
130+
])
137131
let assert Ok(pt) = jwe_multi.decrypt(dec, parsed)
138132
let assert Ok(text) = bit_array.to_string(pt)
139133
io.println("AES-KW recipient decrypted: " <> text)

dev/jose/jwk_examples.gleam

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -346,10 +346,7 @@ fn encrypted_jwk_export() {
346346
let plaintext = bit_array.from_string(json.to_string(key_json))
347347

348348
let assert Ok(encrypted) =
349-
jwe.new_pbes2(
350-
gose.Pbes2Sha256Aes128Kw,
351-
gose.AesGcm(gose.Aes256),
352-
)
349+
jwe.new_pbes2(gose.Pbes2Sha256Aes128Kw, gose.AesGcm(gose.Aes256))
353350
|> jwe.with_cty("jwk+json")
354351
|> jwe.with_p2c(1000)
355352
|> result.try(jwe.encrypt_with_password(_, "my-secure-password", plaintext))

dev/jose/jws_examples.gleam

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,7 @@ fn rsa_signing() {
5858

5959
// Sign
6060
let assert Ok(token) =
61-
jws.new(
62-
gose.DigitalSignature(gose.RsaPkcs1(gose.RsaPkcs1Sha256)),
63-
)
61+
jws.new(gose.DigitalSignature(gose.RsaPkcs1(gose.RsaPkcs1Sha256)))
6462
|> jws.with_kid("rsa-key-001")
6563
|> jws.sign(key, payload)
6664
|> result.try(jws.serialize_compact)
@@ -72,10 +70,9 @@ fn rsa_signing() {
7270
let assert Ok(pub_key) = gose.public_key(key)
7371
let assert Ok(parsed) = jws.parse_compact(token)
7472
let assert Ok(verifier) =
75-
jws.verifier(
76-
gose.DigitalSignature(gose.RsaPkcs1(gose.RsaPkcs1Sha256)),
77-
[pub_key],
78-
)
73+
jws.verifier(gose.DigitalSignature(gose.RsaPkcs1(gose.RsaPkcs1Sha256)), [
74+
pub_key,
75+
])
7976
let assert Ok(Nil) = jws.verify(verifier, parsed)
8077
io.println("Verified with public key")
8178
io.println("")
@@ -99,12 +96,9 @@ fn ecdsa_signing() {
9996
// Verify
10097
let assert Ok(parsed) = jws.parse_compact(token)
10198
let assert Ok(verifier) =
102-
jws.verifier(
103-
gose.DigitalSignature(gose.Ecdsa(gose.EcdsaP256)),
104-
[
105-
key,
106-
],
107-
)
99+
jws.verifier(gose.DigitalSignature(gose.Ecdsa(gose.EcdsaP256)), [
100+
key,
101+
])
108102
let assert Ok(Nil) = jws.verify(verifier, parsed)
109103
io.println("Signature verified")
110104
io.println("")

dev/jose/jws_multi_examples.gleam

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,9 @@ fn two_signers() {
5050
let assert Ok(parsed) = jws_multi.parse_json(json_str)
5151

5252
let assert Ok(ec_verifier) =
53-
jws_multi.verifier(
54-
gose.DigitalSignature(gose.Ecdsa(gose.EcdsaP256)),
55-
keys: [ec_key],
56-
)
53+
jws_multi.verifier(gose.DigitalSignature(gose.Ecdsa(gose.EcdsaP256)), keys: [
54+
ec_key,
55+
])
5756
let assert Ok(Nil) = jws_multi.verify(ec_verifier, parsed)
5857
io.println("ES256 signature verified")
5958

@@ -78,21 +77,15 @@ fn single_signer_json() {
7877

7978
let assert Ok(body) =
8079
jws_multi.new(payload:)
81-
|> jws_multi.sign(
82-
gose.Mac(gose.Hmac(gose.HmacSha256)),
83-
key: hmac_key,
84-
)
80+
|> jws_multi.sign(gose.Mac(gose.Hmac(gose.HmacSha256)), key: hmac_key)
8581
let message = jws_multi.assemble(body)
8682

8783
let json_str = jws_multi.serialize_json(message) |> json.to_string
8884
io.println("JWS JSON: " <> json_str)
8985

9086
let assert Ok(parsed) = jws_multi.parse_json(json_str)
9187
let assert Ok(verifier) =
92-
jws_multi.verifier(
93-
gose.Mac(gose.Hmac(gose.HmacSha256)),
94-
keys: [hmac_key],
95-
)
88+
jws_multi.verifier(gose.Mac(gose.Hmac(gose.HmacSha256)), keys: [hmac_key])
9689
let assert Ok(Nil) = jws_multi.verify(verifier, parsed)
9790
io.println("HMAC signature verified")
9891
io.println("")

dev/jose/jwt_examples.gleam

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -189,11 +189,7 @@ fn key_rotation() {
189189

190190
// Sign
191191
let assert Ok(signed) =
192-
jwt.sign(
193-
gose.Mac(gose.Hmac(gose.HmacSha256)),
194-
claims,
195-
old_key,
196-
)
192+
jwt.sign(gose.Mac(gose.Hmac(gose.HmacSha256)), claims, old_key)
197193

198194
let token = jwt.serialize(signed)
199195

@@ -242,11 +238,7 @@ fn validation_options() {
242238
)
243239

244240
let assert Ok(verifier) =
245-
jwt.verifier(
246-
gose.Mac(gose.Hmac(gose.HmacSha256)),
247-
[key],
248-
options,
249-
)
241+
jwt.verifier(gose.Mac(gose.Hmac(gose.HmacSha256)), [key], options)
250242
let assert Ok(verified) = jwt.verify_and_validate(verifier, token, now)
251243

252244
let decoder = {
@@ -554,11 +546,7 @@ fn dangerous_escape_hatches() {
554546
|> jwt.with_subject("user-42")
555547
|> jwt.with_expiration(past)
556548
let assert Ok(signed) =
557-
jwt.sign(
558-
gose.Mac(gose.Hmac(gose.HmacSha256)),
559-
claims:,
560-
key: k,
561-
)
549+
jwt.sign(gose.Mac(gose.Hmac(gose.HmacSha256)), claims:, key: k)
562550
let token = jwt.serialize(signed)
563551

564552
// Inspect claims BEFORE any verification happens. Never trust these values

dev/jose/nested_jwt_examples.gleam

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,7 @@ fn nested_jwt_symmetric() {
5858
|> jwt.with_expiration(exp)
5959

6060
let assert Ok(signed_jwt) =
61-
jwt.sign(
62-
gose.Mac(gose.Hmac(gose.HmacSha256)),
63-
claims,
64-
signing_key,
65-
)
61+
jwt.sign(gose.Mac(gose.Hmac(gose.HmacSha256)), claims, signing_key)
6662
let inner_token = jwt.serialize(signed_jwt)
6763
io.println("Inner signed JWT created")
6864

@@ -161,13 +157,9 @@ fn nested_jwt_asymmetric() {
161157
// Recipient: decrypt with private key
162158
let assert Ok(parsed_jwe) = jwe.parse_compact(nested_token)
163159
let assert Ok(decryptor) =
164-
jwe.key_decryptor(
165-
gose.EcdhEs(gose.EcdhEsDirect),
166-
gose.AesGcm(gose.Aes256),
167-
[
168-
recipient_encryption_key,
169-
],
170-
)
160+
jwe.key_decryptor(gose.EcdhEs(gose.EcdhEsDirect), gose.AesGcm(gose.Aes256), [
161+
recipient_encryption_key,
162+
])
171163
let assert Ok(inner_bits) = jwe.decrypt(decryptor, parsed_jwe)
172164
let assert Ok(decrypted_inner_token) = bit_array.to_string(inner_bits)
173165

0 commit comments

Comments
 (0)