Files
WoofWare.NUnitTestRunner/WoofWare.NUnitTestRunner.Lib/Array.fs
2024-06-10 23:25:33 +01:00

21 lines
500 B
Forth

namespace WoofWare.NUnitTestRunner
[<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 ())