Skip to content

Commit

Permalink
Deprecate yielder.prepend
Browse files Browse the repository at this point in the history
  • Loading branch information
JosephTLyons committed Dec 12, 2024
1 parent 2134616 commit 27d6980
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
17 changes: 17 additions & 0 deletions src/gleam/yielder.gleam
Original file line number Diff line number Diff line change
Expand Up @@ -1641,7 +1641,24 @@ pub fn yield(element: a, next: fn() -> Yielder(a)) -> Yielder(a) {
/// // -> [0, 1, 2, 3]
/// ```
///
@deprecated("Use `yielder.push_front` instead.")
pub fn prepend(yielder: Yielder(a), element: a) -> Yielder(a) {
use <- yield(element)
yielder
}

/// Add a new element to the start of a yielder.
///
/// ## Examples
///
/// ```gleam
/// let yielder = from_list([1, 2, 3]) |> prepend(0)
///
/// yielder.to_list
/// // -> [0, 1, 2, 3]
/// ```
///
pub fn push_front(yielder: Yielder(a), element: a) -> Yielder(a) {
use <- yield(element)
yielder
}
7 changes: 7 additions & 0 deletions test/gleam_yielder_test.gleam
Original file line number Diff line number Diff line change
Expand Up @@ -742,3 +742,10 @@ pub fn prepend_test() {
|> yielder.to_list
|> should.equal([0, 1, 2, 3])
}

pub fn prepend_element_test() {
yielder.from_list([1, 2, 3])
|> yielder.push_front(0)
|> yielder.to_list
|> should.equal([0, 1, 2, 3])
}

0 comments on commit 27d6980

Please sign in to comment.