Skip to content

Commit f07892a

Browse files
did some chores
1 parent 4b7517b commit f07892a

File tree

20 files changed

+2259
-2533
lines changed

20 files changed

+2259
-2533
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- uses: erlef/setup-beam@v1
1414
with:
1515
otp-version: '26'
16-
gleam-version: '1.1'
16+
gleam-version: '1.6'
1717

1818
- run: |
1919
version="v$(cat gleam.toml | grep -m 1 "version" | sed -r "s/version *= *\"([[:digit:].]+)\"/\1/")"

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- uses: erlef/setup-beam@v1
1515
with:
1616
otp-version: '26'
17-
gleam-version: '1.1'
17+
gleam-version: '1.6'
1818
rebar3-version: '3'
1919
- run: gleam test
2020
- run: gleam format --check src test

gleam.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name = "blah"
2-
version = "1.3.0"
2+
version = "1.4.0"
33

44
description = "fake data generation for gleam"
55
licences = ["Apache-2.0"]
@@ -10,8 +10,9 @@ gleam = ">= 0.32.0"
1010
internal_modules = ["blah/en/*", "blah/utils", "blah/locales/*"]
1111

1212
[dependencies]
13-
birl = "~> 1.6"
14-
gleam_stdlib = "~> 0.37 or ~> 1.0"
13+
birl = "~> 1.8"
14+
gleam_stdlib = ">= 0.49.0 or < 2.0.0"
15+
gleam_regexp = ">= 1.0.0 and < 2.0.0"
1516

1617
[dev-dependencies]
17-
gleeunit = "~> 1.1"
18+
gleeunit = "~> 1.2"

manifest.toml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@
22
# You typically do not need to edit this file
33

44
packages = [
5-
{ name = "birl", version = "1.6.1", build_tools = ["gleam"], requirements = ["gleam_stdlib", "ranger"], otp_app = "birl", source = "hex", outer_checksum = "976CFF85D34D50F7775896615A71745FBE0C325E50399787088F941B539A0497" },
6-
{ name = "gleam_stdlib", version = "0.37.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "5398BD6C2ABA17338F676F42F404B9B7BABE1C8DC7380031ACB05BBE1BCF3742" },
7-
{ name = "gleeunit", version = "1.1.2", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "72CDC3D3F719478F26C4E2C5FED3E657AC81EC14A47D2D2DEBB8693CA3220C3B" },
8-
{ name = "ranger", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "ranger", source = "hex", outer_checksum = "1566C272B1D141B3BBA38B25CB761EF56E312E79EC0E2DFD4D3C19FB0CC1F98C" },
5+
{ name = "birl", version = "1.8.0", build_tools = ["gleam"], requirements = ["gleam_regexp", "gleam_stdlib", "ranger"], otp_app = "birl", source = "hex", outer_checksum = "2AC7BA26F998E3DFADDB657148BD5DDFE966958AD4D6D6957DD0D22E5B56C400" },
6+
{ name = "gleam_regexp", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_regexp", source = "hex", outer_checksum = "A3655FDD288571E90EE9C4009B719FEF59FA16AFCDF3952A76A125AF23CF1592" },
7+
{ name = "gleam_stdlib", version = "0.49.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "A7DB09F15738198A87255425FBCE049B4B84C77CC522786DC923DABA73911F13" },
8+
{ name = "gleam_yielder", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_yielder", source = "hex", outer_checksum = "8E4E4ECFA7982859F430C57F549200C7749823C106759F4A19A78AEA6687717A" },
9+
{ name = "gleeunit", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "F7A7228925D3EE7D0813C922E062BFD6D7E9310F0BEE585D3A42F3307E3CFD13" },
10+
{ name = "ranger", version = "1.4.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "gleam_yielder"], otp_app = "ranger", source = "hex", outer_checksum = "C8988E8F8CDBD3E7F4D8F2E663EF76490390899C2B2885A6432E942495B3E854" },
911
]
1012

1113
[requirements]
12-
birl = { version = "~> 1.6" }
13-
gleam_stdlib = { version = "~> 0.37 or ~> 1.0" }
14-
gleeunit = { version = "~> 1.1" }
14+
birl = { version = "~> 1.8" }
15+
gleam_regexp = { version = ">= 1.0.0 and < 2.0.0" }
16+
gleam_stdlib = { version = ">= 0.49.0 or < 2.0.0" }
17+
gleeunit = { version = "~> 1.2" }

src/blah/en/string.gleam

Lines changed: 42 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,28 @@
22

33
import gleam/list
44
import gleam/string
5-
import gleam/string_builder.{type StringBuilder}
5+
import gleam/string_tree.{type StringTree}
66

77
import blah/utils.{get_random_int, get_random_item}
88

99
pub fn alpha(length: Int) {
10-
alpha_internal(length, string_builder.new())
10+
alpha_internal(length, string_tree.new())
1111
}
1212

1313
pub fn lower_alpha(length: Int) {
14-
lower_internal(length, string_builder.new())
14+
lower_internal(length, string_tree.new())
1515
}
1616

1717
pub fn upper_alpha(length: Int) {
18-
upper_internal(length, string_builder.new())
18+
upper_internal(length, string_tree.new())
1919
}
2020

2121
pub fn numeric(length: Int) {
22-
numeric_internal(length, string_builder.new())
22+
numeric_internal(length, string_tree.new())
2323
}
2424

2525
pub fn alphanumeric(length: Int) {
26-
alphanumeric_internal(length, string_builder.new())
26+
alphanumeric_internal(length, string_tree.new())
2727
}
2828

2929
/// you can use the below codes to specify your desired pattern:
@@ -41,26 +41,26 @@ pub fn alphanumeric(length: Int) {
4141
/// %u - uppercase letters
4242
///
4343
pub fn with_pattern(given_pattern: String) {
44-
with_pattern_internal(given_pattern, string_builder.new())
44+
with_pattern_internal(given_pattern, string_tree.new())
4545
}
4646

4747
pub fn roman_numeral(min: Int, max: Int) {
4848
get_random_int(min, max)
4949
|> list.repeat("I", _)
50-
|> string_builder.from_strings
51-
|> string_builder.replace("IIIII", "V")
52-
|> string_builder.replace("VV", "X")
53-
|> string_builder.replace("XXXXX", "L")
54-
|> string_builder.replace("LL", "C")
55-
|> string_builder.replace("CCCCC", "D")
56-
|> string_builder.replace("DD", "M")
57-
|> string_builder.replace("DCCCC", "CM")
58-
|> string_builder.replace("CCCC", "CD")
59-
|> string_builder.replace("LXXXX", "XC")
60-
|> string_builder.replace("XXXX", "XL")
61-
|> string_builder.replace("VIIII", "IX")
62-
|> string_builder.replace("IIII", "IV")
63-
|> string_builder.to_string
50+
|> string_tree.from_strings
51+
|> string_tree.replace("IIIII", "V")
52+
|> string_tree.replace("VV", "X")
53+
|> string_tree.replace("XXXXX", "L")
54+
|> string_tree.replace("LL", "C")
55+
|> string_tree.replace("CCCCC", "D")
56+
|> string_tree.replace("DD", "M")
57+
|> string_tree.replace("DCCCC", "CM")
58+
|> string_tree.replace("CCCC", "CD")
59+
|> string_tree.replace("LXXXX", "XC")
60+
|> string_tree.replace("XXXX", "XL")
61+
|> string_tree.replace("VIIII", "IX")
62+
|> string_tree.replace("IIII", "IV")
63+
|> string_tree.to_string
6464
}
6565

6666
const lower_letters = [
@@ -91,68 +91,65 @@ const characters = [
9191
"w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
9292
]
9393

94-
fn alpha_internal(remaining: Int, storage: StringBuilder) -> String {
94+
fn alpha_internal(remaining: Int, storage: StringTree) -> String {
9595
case remaining == 0 {
96-
True -> string_builder.to_string(storage)
96+
True -> string_tree.to_string(storage)
9797

9898
False -> {
9999
let letter = get_random_item(letters)
100-
alpha_internal(remaining - 1, string_builder.append(storage, letter))
100+
alpha_internal(remaining - 1, string_tree.append(storage, letter))
101101
}
102102
}
103103
}
104104

105-
fn lower_internal(remaining: Int, storage: StringBuilder) -> String {
105+
fn lower_internal(remaining: Int, storage: StringTree) -> String {
106106
case remaining == 0 {
107-
True -> string_builder.to_string(storage)
107+
True -> string_tree.to_string(storage)
108108

109109
False -> {
110110
let letter = get_random_item(lower_letters)
111-
lower_internal(remaining - 1, string_builder.append(storage, letter))
111+
lower_internal(remaining - 1, string_tree.append(storage, letter))
112112
}
113113
}
114114
}
115115

116-
fn upper_internal(remaining: Int, storage: StringBuilder) -> String {
116+
fn upper_internal(remaining: Int, storage: StringTree) -> String {
117117
case remaining == 0 {
118-
True -> string_builder.to_string(storage)
118+
True -> string_tree.to_string(storage)
119119

120120
False -> {
121121
let letter = get_random_item(upper_letters)
122-
upper_internal(remaining - 1, string_builder.append(storage, letter))
122+
upper_internal(remaining - 1, string_tree.append(storage, letter))
123123
}
124124
}
125125
}
126126

127-
fn numeric_internal(remaining: Int, storage: StringBuilder) -> String {
127+
fn numeric_internal(remaining: Int, storage: StringTree) -> String {
128128
case remaining == 0 {
129-
True -> string_builder.to_string(storage)
129+
True -> string_tree.to_string(storage)
130130

131131
False -> {
132132
let digit = get_random_item(digits)
133-
numeric_internal(remaining - 1, string_builder.append(storage, digit))
133+
numeric_internal(remaining - 1, string_tree.append(storage, digit))
134134
}
135135
}
136136
}
137137

138-
fn alphanumeric_internal(remaining: Int, storage: StringBuilder) -> String {
138+
fn alphanumeric_internal(remaining: Int, storage: StringTree) -> String {
139139
case remaining == 0 {
140-
True -> string_builder.to_string(storage)
140+
True -> string_tree.to_string(storage)
141141

142142
False -> {
143143
let character = get_random_item(characters)
144144
alphanumeric_internal(
145145
remaining - 1,
146-
string_builder.append(storage, character),
146+
string_tree.append(storage, character),
147147
)
148148
}
149149
}
150150
}
151151

152-
fn with_pattern_internal(
153-
given_pattern: String,
154-
storage: StringBuilder,
155-
) -> String {
152+
fn with_pattern_internal(given_pattern: String, storage: StringTree) -> String {
156153
case string.first(given_pattern) {
157154
Ok("%") -> {
158155
let to_append = case string.slice(given_pattern, 0, 2) {
@@ -165,17 +162,17 @@ fn with_pattern_internal(
165162
characters -> characters
166163
}
167164
with_pattern_internal(
168-
string.drop_left(given_pattern, 2),
169-
string_builder.append(storage, to_append),
165+
string.drop_start(given_pattern, 2),
166+
string_tree.append(storage, to_append),
170167
)
171168
}
172169

173170
Ok(to_append) ->
174171
with_pattern_internal(
175-
string.drop_left(given_pattern, 1),
176-
string_builder.append(storage, to_append),
172+
string.drop_start(given_pattern, 1),
173+
string_tree.append(storage, to_append),
177174
)
178175

179-
Error(Nil) -> string_builder.to_string(storage)
176+
Error(Nil) -> string_tree.to_string(storage)
180177
}
181178
}

0 commit comments

Comments
 (0)