Skip to content

Commit c180a25

Browse files
committed
v1.2.0
1 parent 9c2f028 commit c180a25

File tree

4 files changed

+21
-1
lines changed

4 files changed

+21
-1
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## v1.2.0 - 2025-07-02
4+
5+
- The `gleam/erlang/process` module gains the `subject_name` function.
6+
37
## v1.1.0 - 2025-06-25
48

59
- The `gleam/erlang/atom` module gains the `to_dynamic` and `decoder` functions.

gleam.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "gleam_erlang"
22

3-
version = "1.1.0"
3+
version = "1.2.0"
44
licences = ["Apache-2.0"]
55
description = "Types and functions for programs running on Erlang!"
66

src/gleam/erlang/process.gleam

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,15 @@ pub fn named_subject(name: Name(message)) -> Subject(message) {
133133
NamedSubject(name)
134134
}
135135

136+
/// Get the name of a subject, returning an error if it doesn't have one.
137+
///
138+
pub fn subject_name(subject: Subject(message)) -> Result(Name(message), Nil) {
139+
case subject {
140+
NamedSubject(name:) -> Ok(name)
141+
Subject(..) -> Error(Nil)
142+
}
143+
}
144+
136145
/// Create a new `Subject` owned by the current process.
137146
///
138147
pub fn new_subject() -> Subject(message) {

test/gleam/erlang/process_test.gleam

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ pub fn new_name_test() {
4242
|> set.size
4343
}
4444

45+
pub fn subject_name_test() {
46+
let name = process.new_name("name")
47+
let subject = process.named_subject(name)
48+
assert process.subject_name(subject) == Ok(name)
49+
assert process.subject_name(process.new_subject()) == Error(Nil)
50+
}
51+
4552
pub fn subject_owner_named_test() {
4653
let name = process.new_name("name")
4754
let subject = process.named_subject(name)

0 commit comments

Comments
 (0)