Files
WoofWare.NUnitTestRunner/TestRunner.Lib/Array.fs
2024-06-05 09:27:13 +01:00

21 lines
486 B
Forth

namespace TestRunner
[<RequireQualifiedAccess>]
module internal Array =
let allOkOrError<'o, 'e> (a : Result<'o, 'e>[]) : Result<'o[], 'o[] * 'e[]> =
let oks = ResizeArray ()
let errors = ResizeArray ()
for i in a do
match i with
| Error e -> errors.Add e
| Ok o -> oks.Add o
let oks = oks.ToArray ()
if errors.Count = 0 then
Ok oks
else
Error (oks, errors.ToArray ())