Skip to content

Commit 947ed5f

Browse files
committed
Fix several functions in ResizeArray
1 parent 3a3091b commit 947ed5f

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

src/FSharpPlus/Extensions/ResizeArray.fs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ module ResizeArray =
2727
let iter (action: 'T -> 'U) (source: ResizeArray<'T>) =
2828
raiseIfNull (nameof source) source
2929

30-
ResizeArray (Seq.map action source)
30+
Seq.map action source
3131

3232
/// <summary>Applies a ResizeArray of functions to a ResizeArray of values and concatenates them.</summary>
3333
/// <param name="f">The functions.</param>
@@ -81,16 +81,16 @@ module ResizeArray =
8181
source |> Array.toSeq |> Seq.intersperse element |> Seq.toArray : 'T []
8282

8383
/// Creates a sequence of arrays by splitting the source array on any of the given separators.
84-
let split (separators: seq<_ []>) (source: _ []) =
84+
let split (separators: seq<ResizeArray<'T>>) (source: ResizeArray<'T>) : seq<ResizeArray<'T>> =
8585
raiseIfNull (nameof separators) separators
8686
raiseIfNull (nameof source) source
87-
source |> Array.toSeq |> Seq.split separators |> Seq.map Seq.toArray
87+
source |> Seq.split separators |> Seq.map ResizeArray
8888

8989
/// Replaces a subsequence of the source array with the given replacement array.
90-
let replace (oldValue: _ []) (newValue: _ []) source =
90+
let replace (oldValue: ResizeArray<'T>) (newValue: ResizeArray<'T>) (source: ResizeArray<'T>) : ResizeArray<'T> =
9191
raiseIfNull (nameof oldValue) oldValue
9292
raiseIfNull (nameof source) source
93-
source |> Array.toSeq |> Seq.replace oldValue newValue |> Seq.toArray : 'T []
93+
source |> Seq.replace oldValue newValue |> ResizeArray
9494

9595
#if !FABLE_COMPILER
9696

@@ -103,13 +103,13 @@ module ResizeArray =
103103
/// <returns>
104104
/// The index of the slice.
105105
/// </returns>
106-
let findSliceIndex (slice: _ []) (source: _ []) =
106+
let findSliceIndex (slice: ResizeArray<'T>) (source: ResizeArray<'T>) : int =
107107
raiseIfNull (nameof slice) slice
108108
raiseIfNull (nameof source) source
109109

110-
let index = Internals.FindSliceIndex.arrayImpl slice source
110+
let index = Internals.FindSliceIndex.seqImpl slice source
111111
if index = -1 then
112-
ArgumentException("The specified slice was not found in the sequence.") |> raise
112+
invalidArg (nameof slice) "The specified slice was not found in the sequence."
113113
else
114114
index
115115

@@ -120,11 +120,11 @@ module ResizeArray =
120120
/// <returns>
121121
/// The index of the slice or <c>None</c>.
122122
/// </returns>
123-
let tryFindSliceIndex (slice: _ []) (source: _ []) =
123+
let tryFindSliceIndex (slice: ResizeArray<'T>) (source: ResizeArray<'T>) : int option =
124124
raiseIfNull (nameof slice) slice
125125
raiseIfNull (nameof source) source
126126

127-
let index = Internals.FindSliceIndex.arrayImpl slice source
127+
let index = Internals.FindSliceIndex.seqImpl slice source
128128
if index = -1 then None else Some index
129129

130130
/// <summary>
@@ -136,10 +136,10 @@ module ResizeArray =
136136
/// <returns>
137137
/// The index of the slice.
138138
/// </returns>
139-
let findLastSliceIndex (slice: _ []) (source: _ []) =
140-
let index = Internals.FindLastSliceIndex.arrayImpl slice source
139+
let findLastSliceIndex (slice: ResizeArray<'T>) (source: ResizeArray<'T>) : int =
140+
let index = Internals.FindLastSliceIndex.seqImpl slice source
141141
if index = -1 then
142-
ArgumentException("The specified slice was not found in the sequence.") |> raise
142+
invalidArg (nameof slice) "The specified slice was not found in the sequence."
143143
else
144144
index
145145

@@ -150,8 +150,8 @@ module ResizeArray =
150150
/// <returns>
151151
/// The index of the slice or <c>None</c>.
152152
/// </returns>
153-
let tryFindLastSliceIndex (slice: _ []) (source: _ []) =
154-
let index = Internals.FindLastSliceIndex.arrayImpl slice source
153+
let tryFindLastSliceIndex (slice: ResizeArray<'T>) (source: ResizeArray<'T>) : int option =
154+
let index = Internals.FindLastSliceIndex.seqImpl slice source
155155
if index = -1 then None else Some index
156156
#endif
157157

@@ -162,12 +162,12 @@ module ResizeArray =
162162
/// <returns>
163163
/// A tuple with both resulting arrays.
164164
/// </returns>
165-
let partitionMap (mapper: 'T -> Choice<'T1,'T2>) (source: array<'T>) =
165+
let partitionMap (mapper: 'T -> Choice<'T1,'T2>) (source: ResizeArray<'T>) : ResizeArray<'T1> * ResizeArray<'T2> =
166166
raiseIfNull (nameof source) source
167167

168168
let (x, y) = ResizeArray (), ResizeArray ()
169-
Array.iter (mapper >> function Choice1Of2 e -> x.Add e | Choice2Of2 e -> y.Add e) source
170-
x.ToArray (), y.ToArray ()
169+
iter (mapper >> function Choice1Of2 e -> x.Add e | Choice2Of2 e -> y.Add e) source
170+
x, y
171171

172172
/// <summary>Safely build a new ResizeArray whose elements are the results of applying the given function
173173
/// to each of the elements of the two ResizeArrays pairwise.</summary>

0 commit comments

Comments
 (0)