Skip to content

Commit 6278816

Browse files
Asterlesspeter-jerry-ye
authored andcommitted
Refactor: Update the functions in @Array/array to handle error polymorphism
1 parent 8d080e0 commit 6278816

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

array/array.mbt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,10 @@ pub fn[T] push_iter(self : Array[T], iter : Iter[T]) -> Unit {
7979
/// inspect(arr, content="[0, 2, 4]")
8080
/// }
8181
/// ```
82-
pub fn[T] Array::makei(length : Int, value : (Int) -> T) -> Array[T] {
82+
pub fn[T] Array::makei(
83+
length : Int,
84+
value : (Int) -> T?Error
85+
) -> Array[T]?Error {
8386
if length <= 0 {
8487
[]
8588
} else {

array/array.mbti

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ fn[T] FixedArray::any(Self[T], (T) -> Bool?Error) -> Bool?Error
4141
fn FixedArray::blit_from_bytesview(Self[Byte], Int, @bytes.View) -> Unit
4242
fn[T : Eq] FixedArray::contains(Self[T], T) -> Bool
4343
fn[T] FixedArray::copy(Self[T]) -> Self[T]
44-
fn[T] FixedArray::each(Self[T], (T) -> Unit) -> Unit
44+
fn[T] FixedArray::each(Self[T], (T) -> Unit?Error) -> Unit?Error
4545
fn[T] FixedArray::eachi(Self[T], (Int, T) -> Unit?Error) -> Unit?Error
4646
fn[T : Eq] FixedArray::ends_with(Self[T], Self[T]) -> Bool
4747
fn[A, B] FixedArray::fold(Self[A], init~ : B, (B, A) -> B?Error) -> B?Error
@@ -51,11 +51,11 @@ fn[T] FixedArray::from_iter(Iter[T]) -> Self[T]
5151
fn[T : Compare] FixedArray::is_sorted(Self[T]) -> Bool
5252
fn FixedArray::join(Self[String], @string.StringView) -> String
5353
fn[A] FixedArray::last(Self[A]) -> A?
54-
fn[T] FixedArray::makei(Int, (Int) -> T) -> Self[T]
54+
fn[T] FixedArray::makei(Int, (Int) -> T?Error) -> Self[T]?Error
5555
fn[T, U] FixedArray::map(Self[T], (T) -> U?Error) -> Self[U]?Error
5656
fn[T, U] FixedArray::mapi(Self[T], (Int, T) -> U?Error) -> Self[U]?Error
5757
fn[T] FixedArray::rev(Self[T]) -> Self[T]
58-
fn[T] FixedArray::rev_each(Self[T], (T) -> Unit) -> Unit
58+
fn[T] FixedArray::rev_each(Self[T], (T) -> Unit?Error) -> Unit?Error
5959
fn[T] FixedArray::rev_eachi(Self[T], (Int, T) -> Unit?Error) -> Unit?Error
6060
fn[A, B] FixedArray::rev_fold(Self[A], init~ : B, (B, A) -> B?Error) -> B?Error
6161
fn[A, B] FixedArray::rev_foldi(Self[A], init~ : B, (Int, B, A) -> B?Error) -> B?Error
@@ -78,7 +78,7 @@ fn[A, B] Array::filter_map(Self[A], (A) -> B??Error) -> Self[B]?Error
7878
fn[T] Array::from_iter(Iter[T]) -> Self[T]
7979
fn Array::join(Self[String], @string.StringView) -> String
8080
fn[A] Array::last(Self[A]) -> A?
81-
fn[T] Array::makei(Int, (Int) -> T) -> Self[T]
81+
fn[T] Array::makei(Int, (Int) -> T?Error) -> Self[T]?Error
8282
fn[T] Array::push_iter(Self[T], Iter[T]) -> Unit
8383
fn[T] Array::shuffle(Self[T], rand~ : (Int) -> Int) -> Self[T]
8484
fn[T] Array::shuffle_in_place(Self[T], rand~ : (Int) -> Int) -> Unit
@@ -101,9 +101,9 @@ fn[A, B] ArrayView::foldi(Self[A], init~ : B, (Int, B, A) -> B?Error) -> B?Error
101101
fn[A] ArrayView::iter(Self[A]) -> Iter[A]
102102
fn[A] ArrayView::iter2(Self[A]) -> Iter2[Int, A]
103103
fn ArrayView::join(Self[String], @string.StringView) -> String
104-
fn[T, U] ArrayView::map(Self[T], (T) -> U) -> Array[U]
104+
fn[T, U] ArrayView::map(Self[T], (T) -> U?Error) -> Array[U]?Error
105105
fn[T] ArrayView::map_inplace(Self[T], (T) -> T?Error) -> Unit?Error
106-
fn[T, U] ArrayView::mapi(Self[T], (Int, T) -> U) -> Array[U]
106+
fn[T, U] ArrayView::mapi(Self[T], (Int, T) -> U?Error) -> Array[U]?Error
107107
fn[T] ArrayView::mapi_inplace(Self[T], (Int, T) -> T?Error) -> Unit?Error
108108
fn[A, B] ArrayView::rev_fold(Self[A], init~ : B, (B, A) -> B?Error) -> B?Error
109109
fn[A, B] ArrayView::rev_foldi(Self[A], init~ : B, (Int, B, A) -> B?Error) -> B?Error

0 commit comments

Comments
 (0)